假设我有两个列表
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]
了,但这给了我所有可能的元素组合。当然我可以写一个循环来做到这一点,但有没有更蟒蛇的方式来做到这一点?
使用zip()
.
该函数返回一个元组列表,其中第i个元组包含来自每个参数序列或可迭代对象的第i个元素。返回的列表在长度上被截断为最短参数序列的长度。
>> zip([1, 2, 3], ['a', 'b', 'c'])
[(1, 'a'), (2, 'b'), (3, 'c')]