並行迭代生成器

要並行迭代多個生成器,請使用 zip 內建:

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

結果是:

1 x
2 y
3 z

在 python 2 中你應該使用 itertools.izip 代替。在這裡我們還可以看到所有 zip 函式都會產生元組。

請注意,只要其中一個 iterables 耗盡專案,zip 就會停止迭代。如果你想迭代最長的可迭代次數,請使用 itertools.zip_longest()