繁体   English   中英

Python - 按索引从列表列表中提取多个列表

[英]Python - Extract multiple lists from a list of lists by index

是否有一种有效的方法来遍历列表列表并将每个列表的第一个元素提取到另一个列表中,将第二个元素提取到另一个列表中,等等。例如:

x = [[1, 2, 3], [4, 5, 6] , [7, 8, 9]]
y1 = [i[0] for i in x]
y2 = [i[1] for i in x]

有没有办法在单个列表理解中提取y1和y2?

你可以使用zip

>>> x = [[1, 2, 3], [4, 5, 6] , [7, 8, 9]]
>>> for l in zip(*x):
...     print l
... 
(1, 4, 7)
(2, 5, 8)
(3, 6, 9)

您可以使用itertools.izip()代替zip()来创建迭代器而不是列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM