l1 = [4, 6, 8]
l2 = [a, b, c]
Run Code Online (Sandbox Code Playgroud)
结果= [(4,a),(6,b),(8,c)]
我怎么做?
Gre*_*ill 12
该zip标准功能可以实现这个要求:
>>> l1 = [4, 6, 8]
>>> l2 = ["a", "b", "c"]
>>> zip(l1, l2)
[(4, 'a'), (6, 'b'), (8, 'c')]
Run Code Online (Sandbox Code Playgroud)
如果您使用的是Python 3.x,则zip返回一个生成器,您可以使用list()构造函数将其转换为列表:
>>> list(zip(l1, l2))
[(4, 'a'), (6, 'b'), (8, 'c')]
Run Code Online (Sandbox Code Playgroud)
Mar*_*ers 11
使用zip.
l1 = [1, 2, 3]
l2 = [4, 5, 6]
>>> zip(l1, l2)
[(1, 4), (2, 5), (3, 6)]
Run Code Online (Sandbox Code Playgroud)
请注意,如果列表的长度不同,则结果将被截断为最短输入的长度.
>>> print zip([1, 2, 3],[4, 5, 6, 7])
[(1, 4), (2, 5), (3, 6)]
Run Code Online (Sandbox Code Playgroud)
您还可以使用带有两个以上列表的zip:
>>> zip([1, 2, 3], [4, 5, 6], [7, 8, 9])
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
Run Code Online (Sandbox Code Playgroud)
如果您有列表列表,可以zip使用星号调用:
>>> l = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> zip(*l)
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
Run Code Online (Sandbox Code Playgroud)