2012-09-16 69 views
3

列表假设我有两个列表Python化的方式来“合并”两个列表中的元组

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

回答

8

使用zip()

此函数返回的元组,其中,所述个元组包含的 我从每个参数序列或iterables的元素的列表。 返回列表的长度被截断为参数序列的最短长度。

>> zip([1, 2, 3], ['a', 'b', 'c']) 
[(1, 'a'), (2, 'b'), (3, 'c')] 
相关问题