迭代器

2019-12-08  本文已影响0人  仁安天下

生成迭代器的三个方法
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



上一篇 下一篇

猜你喜欢

热点阅读