生成迭代器的三个方法
1、直接生成一个生成器(生成器本身就是迭代器)
gen = (i for i in range(10))
2、创建一个可迭代对象,然后通过iter函数
l = [i for i in range(10)]
iter_l = iter(l)
next(iter_l)
3、鸭子类型,iter返回自身,next返回下一个元素
class MyIter:
def __init__(self,value,stop):
self.value = value
self.stop = stop
def __iter__(self):
return self
def next(self):
if self.value >self .stop:
raise (StopIteration)
value =self.value+1
self.value+=1
return value
t=MyIter(0,10)
for i in t:
print i
网友评论