Python,通过索引将一些列表匹配到列表列表中

Rom*_*mel 1 python list python-2.7

所以我有类似的东西:

l1=[1,2,3]
l2=[4,5,6]
l3=[7,8,9]
Run Code Online (Sandbox Code Playgroud)

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

什么是最核心的方式呢?

Bož*_*vić 7

使用zip然后列出理解将tuples转换为lists

[list(x) for x in zip(l1, l2, l3)]
Run Code Online (Sandbox Code Playgroud)

结果:

[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
Run Code Online (Sandbox Code Playgroud)


小智 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)]
Run Code Online (Sandbox Code Playgroud)

内置的功能zip将帮助您满足您的需求.

  • @Stages Nope http://stackoverflow.com/posts/38483818/timeline (4认同)
  • 你和Moses Koledoye同时回答,**正好**(以秒为单位).这是今天发生在我身上最令人满意的事情. (3认同)

Mos*_*oye 5

zip 三个清单:

>>> 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)]
Run Code Online (Sandbox Code Playgroud)

使用列表理解的元组到列表中有一个列表的列表:

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

  • 我先说过,但是哦.:d (3认同)