Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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_List - Fatal编程技术网

Python 组合两个列表中的每个元素

Python 组合两个列表中的每个元素,python,list,Python,List,我为这个问题挣扎了几个小时,但似乎找不到解决办法。 因此,我在python中有两个列表: list1=[['= 0\n', '= 1\n', '= 2\n', '= 3\n', '= 4\n'],['= 0\n', '= 1\n', '= 2\n']] list2=[['a', 'b', 'c', 'd', 'e'],['a', 'b', 'c']] 我想将这两个列表组合成如下内容: [['a=0\n', 'b=1\n', 'c=2\n', 'd=3\n', 'e=4\n'], ['a=0\n

我为这个问题挣扎了几个小时,但似乎找不到解决办法。 因此,我在python中有两个列表:

list1=[['= 0\n', '= 1\n', '= 2\n', '= 3\n', '= 4\n'],['= 0\n', '= 1\n', '= 2\n']]
list2=[['a', 'b', 'c', 'd', 'e'],['a', 'b', 'c']]
我想将这两个列表组合成如下内容:

[['a=0\n', 'b=1\n', 'c=2\n', 'd=3\n', 'e=4\n'], ['a=0\n', 'b=1\n', 'c=2\n']]

基本上,我想从列表1的第一个列表中获取每个元素,然后从列表2中的第一个列表中附加第一个元素,依此类推,并保留列表结构的列表。

您可以首先将外部列表
zip
放在一起,然后将这些元素按顺序连接到一个字符串中

>>> [[b+a for a,b in zip(i,j)] for i,j in zip(list1, list2)]
[['a= 0\n', 'b= 1\n', 'c= 2\n', 'd= 3\n', 'e= 4\n'], ['a= 0\n', 'b= 1\n', 'c= 2\n']]

使用列表进行配对:

list1 = [['= 0\n', '= 1\n', '= 2\n', '= 3\n', '= 4\n'], ['= 0\n', '= 1\n', '= 2\n']]
list2 = [['a', 'b', 'c', 'd', 'e'], ['a', 'b', 'c']]

print([[(x+y) for x, y in zip(list2[i], list1[i])] for i in range(len(list1))])
# [['a= 0\n', 'b= 1\n', 'c= 2\n', 'd= 3\n', 'e= 4\n'], ['a= 0\n', 'b= 1\n', 'c= 2\n']]                                  

使用
map
对以前的答案进行修改:

list(map(lambda x: list(map(''.join, zip(*x))), zip(list2, list1)))

我不理解输出。即使忽略字符串周围没有引号这一事实,为什么
'a=0\n'
'b=1\n'
在第一个子列表的子发布列表中?你如何将
'b'
与任何东西结合起来以获得
'b=1\n'
,而无需某种明确的剥离,无论规则是什么,同一规则如何为你提供
'a=0\n'
c=2\n'
?无论如何,我认为你正在寻找的可能是一个嵌套的zip。你知道吗?如果是这样,您知道如何在另一个
for
语句中编写
for
语句吗?(或者,如果您愿意,可以对子句进行两个
的理解。)如果是,您坚持的是哪一部分?为什么有些部分之间有空格,而有些部分之间没有空格?我确定了输出的外观。zip对我没有帮助,因为它从两个列表中创建一个列表,而我需要一个列表列表;你的没有。您的空格处理规则只匹配八个示例中的一个中OP所需的规则。@如果他们没有更新输出,请再次查看,这是他们示例中的一个输入错误,空格仍然不匹配。OP的输出可能无法用任何合理的代码生成,但这只是意味着问题无法得到解决,而不是任何答案都是有效的。非常感谢您的帮助help@meow很高兴能帮助你。:)