迭代器的特点:记录下遍历的位置,只往前进行,不后退
MyList=【1,2,3,4,5,6,7,8,9】
迭代过了1,就是2,再是3,不会掉过头去
迭代器有两个内置函数:
class Myiter:
def --iter--(self):
self.a=1
return self
def --next--(self):
x=self.a
self.a+=1
return x
myiter=Myiter() #创建类的实例
it=iter(mylier) 迭代器化
print(next(it))
升级一下,防止一直迭代:
class Myiter:
def --iter--(self):
self.a=1
return self
def --next--(self):
if self.a<=20:
x=self.a
self.a+=1
return x
else:
raise StopIteration #当迭代大于20 时,停止迭代
myiter=Myiter() #创建类的实例
it=iter(mylier) 迭代器化
print(next(it))
原文:https://www.cnblogs.com/qslove7/p/14665985.html