首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Python中从生成器函数中一次获取一个值?

如何在Python中从生成器函数中一次获取一个值?
EN

Stack Overflow用户
提问于 2010-03-11 03:11:28
回答 7查看 90.2K关注 0票数 135

非常基本的问题--如何在Python中从生成器中获取一个值?

到目前为止,我发现我可以通过编写gen.next()获得一个。我只想确认这是不是正确的方式?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-03-11 03:13:03

是的,或者2.6+中的next(gen)

票数 182
EN

Stack Overflow用户

发布于 2010-03-11 06:54:13

在Python <= 2.5中,使用gen.next()。这将适用于所有Python 2.x版本,但不适用于Python 3.x

在Python >= 2.6中,使用next(gen)。这是一个内置的函数,而且更清晰。它也可以在Python3中工作。

这两个函数最终都调用了一个特殊命名的函数next(),它可以通过子类化来覆盖。然而,在Python3中,该函数已被重命名为__next__(),以与其他特殊函数保持一致。

票数 74
EN

Stack Overflow用户

发布于 2016-09-17 09:00:47

使用(适用于python 3)

代码语言:javascript
复制
next(generator)

下面是一个例子

代码语言:javascript
复制
def fun(x):
    n = 0
    while n < x:
        yield n
        n += 1
z = fun(10)
next(z)
next(z)

应打印

代码语言:javascript
复制
0
1
票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2419770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档