你是 几乎 没有。在Python 3中,只需将生成器传递给zip()
:
for a, b in zip(A(), B()):
zip()
需要任何可迭代的,而不仅仅是列表。它将一一消耗发电机。
在Python 2中,使用itertools.izip()
:
from itertools import izip
for a, b in izip(A(), B()):
顺便说一句,将生成器转换为列表很简单list(generator)
;无需在那里使用列表推导。
一起循环两个发电机
你是 几乎 没有。在Python 3中,只需将生成器传递给zip()
:
for a, b in zip(A(), B()):
zip()
需要任何可迭代的,而不仅仅是列表。它将一一消耗发电机。
在Python 2中,使用itertools.izip()
:
from itertools import izip
for a, b in izip(A(), B()):
顺便说一句,将生成器转换为列表很简单list(generator)
;无需在那里使用列表推导。