假设我有两个列表
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]
,但这给了我所有可能的元素组合。当然我可以写一个循环来做到这一点,但有更多的pythonic方法来做到这一点吗?
答案 0 :(得分:8)
使用zip()
。
此函数返回元组列表,其中 i -th元组包含 来自每个参数序列或迭代的 i -th元素。该 返回的列表的长度被截断为最短的长度 论证序列。
>> zip([1, 2, 3], ['a', 'b', 'c'])
[(1, 'a'), (2, 'b'), (3, 'c')]