python,按索引将一些列表匹配到列表列表中

Python, match by index some lists into a list of lists

本问题已经有最佳答案,请猛点这里访问。

所以我有点像:

1
2
3
l1=[1,2,3]
l2=[4,5,6]
l3=[7,8,9]

预期产量为:ls=[[1,4,7],[2,5,8],[3,6,9]]

最有效的方法是什么?


使用zip,然后列表理解将tuples转换成lists

1
[list(x) for x in zip(l1, l2, l3)]

结果:

1
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

zip三个清单:

1
2
3
4
5
>>> l1 = [1,2,3]
>>> l2 = [4,5,6]
>>> l3 = [7,8,9]
>>> zip(l1,l2,l3)
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

使用列表理解将元组强制转换为列表,以获得列表列表:

1
2
>>> [list(i) for i in zip(l1,l2,l3)]
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]


1
2
3
4
5
>>> l1=[1,2,3]
>>> l2=[4,5,6]
>>> l3=[7,8,9]
>>> zip(l1, l2, l3)
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

内置的功能zip将帮助您实现所需的功能。