邮件列表的元组与平面列表

cwi*_*olf 5 python python-3.x

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

list_a = [(1,2), (1,2), (1,2), ...]
list_b = [3, 3, 3, ...]
Run Code Online (Sandbox Code Playgroud)

生成生成器(这里通过调用函数表示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
Run Code Online (Sandbox Code Playgroud)

我可以这样做

for aa, b in zip(list_a, list_b):
    print(aa[0], aa[1], b)
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有一个很好的方法来做到这一点,而无需解开元组.谢谢!

Tig*_*kT3 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)
Run Code Online (Sandbox Code Playgroud)

结果:

1 2 3
1 2 3
1 2 3
Run Code Online (Sandbox Code Playgroud)