gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 13:54:38 25 4
gpt4 key购买 nike

如果我有一个生成器,例如:

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:

>>> from itertools import chain
>>> g = (i for i in range(10))
>>> list(chain(['a','b','c'], g))
['a', 'b', 'c', 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

关于Python:在生成器的开头插入元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58311571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com