元组的压缩列表与平面列表

5

我想知道在Python 3.x中是否有一种简单的方法来完成以下操作。假设我有两个列表,结构如下:

list_a = [(1,2), (1,2), (1,2), ...]
list_b = [3, 3, 3, ...]

最简单的方法是创建一个生成器(在这里通过调用函数 funky_zip 表示),让我可以像下面这样迭代这两个列表:

>>> for a, b, c, in funky_zip(list_a, list_b):
>>>      print(a, b, c)
...
1 2 3
1 2 3
1 2 3
# and so on

我可以直接做

for aa, b in zip(list_a, list_b):
    print(aa[0], aa[1], b)

但我想知道是否有一种不必拆开元组的简便方法。谢谢!

1个回答

8
你只需要使用圆括号即可:
list_a = [(1,2), (1,2), (1,2)]
list_b = [3, 3, 3]
for (a, b), c in zip(list_a, list_b):
    print(a, b, c)

结果:

1 2 3
1 2 3
1 2 3

哇塞哈哈。没想到Python能做到那个!谢谢。 - mostsquares

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