如果我有发电机,例如:
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
但是我想知道这是否必要,或者是否有更好的方法?
您可以为此使用itertools.chain
:
您可以使用以下功能: