python - 了解 Python 中的迭代器和生成器

标签 python generator

我最近在 Python 中遇到了生成器的想法,所以我为自己做了一个基本示例:

def gen(lim):
    print 'This is a generator'
    for elem in xrange(lim):
        yield elem
    yield 'still generator...'
    print 'done'

x = gen
print x
x = x(10)
print x
print x.next()
print x.next()

我想知道是否有任何方法可以遍历我的变量 x 并且必须写出 print x.next() 11 次才能打印所有内容。

最佳答案

这就是首先使用生成器的全部意义:

for i in x:
    print i
This is a generator
0
1
2
3
4
5
6
7
8
9
still generator...
done

关于python - 了解 Python 中的迭代器和生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17640660/

相关文章:

python - 拥有 django 项目的主数据库

python - Keras 自定义数据生成器 - 错误 : 'int' object has no attribute 'shape'

python - 如何将列表值与字典键进行比较并使用 python 创建一个新字典

python - 如何检查生成器是否至少有 N 个元素

python - 如何分解连续每个文档的顶部单词; Pandas 数据框

python - 运行两个异步函数而不互相阻塞

python - 在 UNIX shell 中捕获 Python 进程的退出状态

generator - MobX 状态树生成器不允许修改成功 promise 中的状态?

javascript - ES6 生成器让我感到困惑

python - 如何有效地计算 python 中多个文档的二元语法