Python 如何组合两个索引长度相同的2d列表?
我是python新手,我有一个小问题 我需要合并两个二维列表,如下所示:Python 如何组合两个索引长度相同的2d列表?,python,list,python-3.x,Python,List,Python 3.x,我是python新手,我有一个小问题 我需要合并两个二维列表,如下所示: list1= [['a','b','c'],['d','e']] list2= [[1,2,3],[4,5]] result= [['a1','b2','c3'],['d4','e5']] 结果应该是这样的: list1= [['a','b','c'],['d','e']] list2= [[1,2,3],[4,5]] result= [['a1','b2','c3'],['d4','e5']] 我们可以将嵌套列表
list1= [['a','b','c'],['d','e']]
list2= [[1,2,3],[4,5]]
result= [['a1','b2','c3'],['d4','e5']]
结果应该是这样的:
list1= [['a','b','c'],['d','e']]
list2= [[1,2,3],[4,5]]
result= [['a1','b2','c3'],['d4','e5']]
我们可以将嵌套列表理解与两个zip(…)
s一起使用:
这将产生:
>>> list1= [['a','b','c'],['d','e']]
>>> list2= [[1,2,3],[4,5]]
>>> [ [ '%s%s'%zi for zi in zip(*z) ] for z in zip(list1,list2) ]
[['a1', 'b2', 'c3'], ['d4', 'e5']]
因此,外部循环并行地迭代两个列表list1
和list2
,并构造我们分配给z
的元组。对于每个元组,我们执行第二次zip
调用zip(*z)
来构造两个子元素的元组。对于这些子元素中的每一个子元素,我们然后用'%s%s'%zi
构造一个字符串
或者可以将其显式转换为字符串,如:
[ [ ''.join(map(str,zi)) for zi in zip(*z) ] for z in zip(list1,list2) ]
这些是字符串吗?
[[''.join(zi)for zi in zip(*z)]for z in zip(list1,map(str,list2))]
进行类型转换explicit@f5r5e5d:在这种情况下,您必须执行map
ping更深一层。现在,您将对list2
.opps的子列表进行字符串化,[''.join((zi[0],str(zi[1]))表示zip中的zi(*z)]表示zip中的z(list1,list2)]
正在工作,将失败的map()
错误地尝试[''.join(zi表示zip中的zi表示zip(*z)]表示zip中的z表示zip中的z(list1,[map(str表示i)表示列表中的i])
修复了映射(str,)