Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 合并具有相同元素数的两个列表并按顺序添加它们_Python_Python 3.x_List - Fatal编程技术网

Python 合并具有相同元素数的两个列表并按顺序添加它们

Python 合并具有相同元素数的两个列表并按顺序添加它们,python,python-3.x,list,Python,Python 3.x,List,我有点像: list1 = [1, 3, None] list2 = [2, 5, None] merged_list = [12, 35, None] 我希望得到类似的东西: list1 = [1, 3, None] list2 = [2, 5, None] merged_list = [12, 35, None] 另外,两个列表的长度始终相同,并且可以作为一个元素使用None值。您可以将两个列表压缩在一起并处理每一对元素 [10 * a + b if a and b else Non

我有点像:

list1 = [1, 3, None]
list2 = [2, 5, None]
merged_list = [12, 35, None]
我希望得到类似的东西:

list1 = [1, 3, None]
list2 = [2, 5, None]
merged_list = [12, 35, None]

另外,两个列表的长度始终相同,并且可以作为一个元素使用None值。

您可以将两个列表压缩在一起并处理每一对元素

[10 * a + b if a and b else None for a, b in zip(x, y)]
如果两者都不是,则此列表将合并a和b。否则,它将一无所获

编辑:如果您只想合并任何值,请执行相同的操作,但请确保强制转换为字符串,以便任何值都可以工作:

[str(a) + str(b) if a and b else None for a, b in zip(x, y)]

注意,它不会就地进行合并,而是返回一个新数组,其中包含组合值

您可能希望在此处组合字符串。差不多

merged_list = []
for(i,j in zip(list1, list2):
  if(element is not None):
    merged_list.append(float(str(i) + str(j))
  else:
    merged_list.append(None)

代码未测试

你尝试过的东西可能重复,它到底有什么问题?我想你应该解释一下你为什么要这么做this@incapaz@jonsharpe@mayeul sgc Hi,很抱歉可能没有很好地解释输出,但本质上是按顺序合并了这两个元素(也就是说,如果第一个列表的元素是
'lala'
,而第二个列表的元素是
'land'
,那么
合并列表的第一个元素将是
'lalaland'
,在这种情况下就是数值。或者[10*a+b如果a和b在zip中没有a,b(列表1,列表2)]@mauve好主意,我改了。这是一个更好的解决方案,因为他们希望元素改为int。不需要强制转换感谢快速回答,但很抱歉我没有解释清楚。但本质上是按顺序合并这两个元素(也就是说,如果第一个列表的元素是
'lala'
,而第二个列表的元素是
'land'
,那么
合并列表的第一个元素将是
'lalaland'
,只是在这种情况下是数值。@LucasMengual将其更改为使用字符串或int。逻辑是相同的,只是如何处理这些元素的组合。)两个价值观。