合并两个生成器并保留发送方法

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