合并两个生成器并保留发送方法
Combine two generators and preserve send method
我有一个生成器,我可以使用 generator.send()
方法向其发送值。我想在制作完成后添加到此生成器中,并继续使用相同的函数对其进行迭代。我试过 itertools.chain
,但是 returns 是一个迭代器,当我尝试向它发送值时,我得到一个 AttributeError
。
如何组合两个生成器并保留向它们发送值的能力?
您可以使用yield from
(更多详情请参考the docs and this answer):
def multi_generator(*gens):
for gen in gens:
yield from gen
我有一个生成器,我可以使用 generator.send()
方法向其发送值。我想在制作完成后添加到此生成器中,并继续使用相同的函数对其进行迭代。我试过 itertools.chain
,但是 returns 是一个迭代器,当我尝试向它发送值时,我得到一个 AttributeError
。
如何组合两个生成器并保留向它们发送值的能力?
您可以使用yield from
(更多详情请参考the docs and this answer):
def multi_generator(*gens):
for gen in gens:
yield from gen