2016-06-30 72 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,工作就像一個魅力! –