3

假设我有两个列表

L1 = [1,2,3]

L2 = [a,b,c]

将其转换为列表的最快方法是什么M = [(1,a),(2,b),(3,c)]

我试过M = [(x,y) for x in L1 for y in L2]了,但这给了我所有可能的元素组合。当然我可以写一个循环来做到这一点,但有没有更蟒蛇的方式来做到这一点?

4

1 回答 1

8

使用zip().

该函数返回一个元组列表,其中第i个元组包含来自每个参数序列或可迭代对象的第i个元素。返回的列表在长度上被截断为最短参数序列的长度。

>> zip([1, 2, 3], ['a', 'b', 'c'])
[(1, 'a'), (2, 'b'), (3, 'c')]
于 2012-09-16T14:05:15.957 回答