美文网首页
如何多次使用生成器

如何多次使用生成器

作者: 啦啦啦老王 | 来源:发表于2019-04-26 15:49 被阅读0次

我们知道,生成器返回的迭代器只能被从头到尾遍历一遍,之后再遍历就会报StopIteration异常,那么怎么样才能重复使用生成器呢。

其实只要写一个类,把生成器定义在类的__iter__方法中,之后重复使用这个类的实例就行了,因为诸如sum()、for in 循环等函数都是调用了对象内置的__iter__方法来获得迭代器的。

class ReadVisits():

        def __init__(self.data):

                self.data = data

        def __iter__(self):

                for i in data:

                    yield i

相关文章

网友评论

      本文标题:如何多次使用生成器

      本文链接:https://www.haomeiwen.com/subject/aycqnqtx.html