百木园-与人分享,
就是让自己快乐。

python迭代器和生成器

iter()用于创建迭代器,next()用于输出迭代器的下一个元素:

names = [\'微湘菜\', \'小湘菜\', \'大湘菜\', \'巨湘菜\']
iterName = iter(names)
for i in range(4):
    print(next(iterName))

结果为:

微湘菜
小湘菜
大湘菜
巨湘菜

创建一个迭代器需要在类中实现两个方法 __iter__() 与 __next__() ,这在python面向对象会详细解释

使用了yield的函数即生成器(generator),返回一个迭代器。每次遇到yield时会暂停运行,在下次执行是会从当前暂停位置继续运行:

def generator():
    print(\'s\')
    while True:
        print(\'微湘菜\')
        yield \'小湘菜\'
        print(\'大湘菜\')


g = generator()
print(next(g))
print(next(g))

结果为:

s
微湘菜
小湘菜
大湘菜
微湘菜
小湘菜

一般在迭代器中都要存在循环,否则难以迭代


来源:https://www.cnblogs.com/daxiangcai/p/16154668.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » python迭代器和生成器

相关推荐

  • 暂无文章