5
是否有一種有效的方式來遍歷列表列表,並將每個列表的第一個元素提取到另一個列表中,第二個元素提取到另一個列表中,例如:Python - 通過索引從列表中提取多個列表
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?
是否有一種有效的方式來遍歷列表列表,並將每個列表的第一個元素提取到另一個列表中,第二個元素提取到另一個列表中,例如:Python - 通過索引從列表中提取多個列表
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()
,使一個迭代器,而不是一個列表。