113 一个非常基本的问题-如何从Python的生成器中获取一个值? 到目前为止,我发现我可以通过写作获得一个gen.next()。我只想确保这是正确的方法? python generator — Bodacydo source
154 是的,或者next(gen)在2.6+中。 — 伊格纳西奥·巴斯克斯(Ignacio Vazquez-Abrams) source 3 我知道这很尴尬,为什么这不起作用?W1 = params.next()但收到一个错误AttributeError: 'generator' object has no attribute 'next' — 查理·帕克 stackoverflow.com/questions/1073396/…– — 伊格纳西奥·巴斯克斯·阿布拉姆斯 2 @CharlieParker您必须使用Python 3! — Akshay Lokur
66 在Python <= 2.5中,使用gen.next()。这将适用于所有Python 2.x版本,但不适用于Python 3.x 在Python> = 2.6中,使用next(gen)。这是一个内置函数,更加清晰。它也将在Python 3中工作。 两者最终都调用了一个特殊命名的函数next(),该函数可以通过子类重写。但是,在Python 3中,此功能已重命名为__next__(),以与其他特殊功能保持一致。 — 克里斯蒂安·奥达德(Christian Oudard) source
16 使用(适用于python 3) next(generator) 这是一个例子 def fun(x): n = 0 while n < x: yield n n += 1 z = fun(10) next(z) next(z) 应该打印 0 1 — dshri source
2 要获取与python 3及更高版本中的生成器对象关联的值,请使用next(<your generator object>)。随后对next()的调用会在队列中产生连续的对象值。 — 龙剑道 source
1 在python 3中您没有gen.next(),但是您仍然可以使用next(gen)。如果您问我,这有点奇怪,但是事实就是这样。 — 尼基 source 1 没那么奇怪。Python 3应该会破坏一切,只允许使用更清晰,更好的代码。没有向后兼容性是一些重大更改的重点。 — 19:09的
W1 = params.next()
但收到一个错误AttributeError: 'generator' object has no attribute 'next'