Python创建生成器generator
Posted 算法与编程之美
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python创建生成器generator相关的知识,希望对你有一定的参考价值。
问题
方法
# (1) [] -> ()
foo = (x for x in range(100))
# (2) 通过yield方式创建
def bar_gen():
for i in range(100):
yield i # 调用yield就返回一个生成器对象
bar = bar_gen()
for i in range(100):
x = next(bar) # 通过next()方法每次获得一个生成数据
print(x, end=' ')
print()
def bar_gen1():
x = 1
yield x+1 # 返回数据并暂停, 下一次next()的时候恢复到这里继续执行
yield x+2
yield x+3
bar1 = bar_gen1()
x1 = next(bar1)
x2 = next(bar1)
x3 = next(bar1)
print(x1, x2, x3) # 2 3 4
结语
以上是关于Python创建生成器generator的主要内容,如果未能解决你的问题,请参考以下文章