将两个列表合并为一个元组列表的Pythonic方法

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],但这给出了所有可能的元素组合。我当然可以编写循环来实现,但是否有更加Pythonic的方法呢?
1个回答

8

使用zip()函数。

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接