如何在Python中逐个加入列表?


问题内容
l1 = [4, 6, 8]
l2 = [a, b, c]

结果= [(4,a),(6,b),(8,c)]

我怎么做?


问题答案:

使用zip

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

请注意,如果列表的长度不同,结果将被截断为最短输入的长度。

>>> print zip([1, 2, 3],[4, 5, 6, 7])
[(1, 4), (2, 5), (3, 6)]

您还可以将zip与两个以上的列表一起使用:

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

如果有列表列表,则可以zip使用星号进行呼叫:

>>> l = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> zip(*l)
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]