2016-06-30 54 views
1

的名单可以说我有一个元组列表:如何列表项添加到元组中的元组

[(0, 11), (1, 12), (2, 13), (3, 14)]

和列表

[22, 24, 26, 28]

,我想结合这制作

[(0, 11, 22), (1, 12, 24), (2, 13, 26), (3, 14, 28)]

有没有一种简单而有效的方法来做到这一点?

,如果我想在列表中插入像元组对象的中间: [(0, 22, 11), (1, 24, 12), (2, 26, 13), (3, 28, 14)]

或者是刚刚与第一和第二元件分开的元组的列表分为两个列表的最佳途径,然后再压缩它们?

回答

5

模式匹配是要走的路:

>>> a 
[(0, 11), (1, 12), (2, 13), (3, 14)] 
>>> b 
[22, 24, 26, 28] 
>>> [(i, j, k) for ((i, j), k) in zip(a, b)] 
[(0, 11, 22), (1, 12, 24), (2, 13, 26), (3, 14, 28)] 

插入到不同的位置是在这种情况下微不足道的。

+0

yessir,工作就像一个魅力! –