假设我有一个元组列表:
[(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)]
或者是将元组列表拆分为包含第一个和第二个元素的两个列表然后再将其拉链的最佳方法?
答案 0 :(得分:6)
模式匹配是要走的路:
>>> 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)]
在这种情况下,插入不同的位置是微不足道的。