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 微湘菜 小湘菜 大湘菜 微湘菜 小湘菜
一般在迭代器中都要存在循环,否则难以迭代
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/244275.html