Pythonic将两个列表“合并”到元组列表的方法

时间:2012-09-16 14:03:13

标签: python list

假设我有两个列表

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方法来做到这一点吗?

1 个答案:

答案 0 :(得分:8)

使用zip()

  

此函数返回元组列表,其中 i -th元组包含   来自每个参数序列或迭代的 i -th元素。该   返回的列表的长度被截断为最短的长度   论证序列。

>> zip([1, 2, 3], ['a', 'b', 'c'])
[(1, 'a'), (2, 'b'), (3, 'c')]