Python:在生成器的开头插入元素

问题描述 投票:3回答:2

如果我有发电机,例如:

g = (i for i in range(10))

后来我想更新生成器,以便产生的第一个元素现在是其他一些元素,最“ pythonic”的方式是什么?

很明显,我可以定义一个基本的生成器扩展器功能,例如:

def extend(generator, new_elements):
    for element in new_elements:
        yield element
    for element in generator:
        yield element

但是我想知道这是否必要,或者是否有更好的方法?

python generator
2个回答
4
投票

您可以为此使用itertools.chain


1
投票

您可以使用以下功能: