是否存在具有自动"zip"的"zip"方法的可读内置概括;拆包";元组



给定两个列表a=[(1,11), (2,22), (3,33)]b=[111, 222, 333],我想知道是否有一个语法上易于阅读的解决方案来迭代三元组值,如下所示:

for x,y,z in WANTED(a, b):
print(x, y, z)
# should iterate over (1,11,111), (2,22,222), (3,33,333)

我知道这可以像一样完成

for _item, z in zip(a, b):
x, y = _item
print(x, y, z)

我也知道如何将其打包到我自己的自定义迭代器中,但我想知道是否可以使用低级别的内置解决方案(可能是itertools(,通过语法上易于阅读的代码来实现这一点。

如果我正确理解你,你可以做:

a = [(1, 11), (2, 22), (3, 33)]
b = [111, 222, 333]
for (x, y), z in zip(a, b):  # <-- note the (x, y)
print(x, y, z)

此打印:

1 11 111
2 22 222
3 33 333

最新更新