博舍

迭代器和生成器 PE生成器怎么用

迭代器和生成器

一、迭代器1.1迭代器是什么?

迭代器是一个可以记住遍历的位置的对象,迭代器是任何实现了__next__()方法的对象,可以通过next(iteration)对其进行迭代,迭代结束时会抛出StopIteration异常

1.2迭代器有什么用?

可以为python的容器类型生成迭代器,迭代器对象从容器的第一个元素开始访问,直到所有的元素被访问完结束,迭代器只能往前不会后退。python的容器类型包括列表、元组、字符串、字典、集合等等

1.3怎么使用迭代器

通过迭代器两个基本的方法,iter()以及next(),可以对python的可迭代对象进行迭代。以列表为例:

 当迭代到最后一个元素还没停止时则会报错:

 4.自行定义迭代器

自行把一个类作为一个迭代器使用需要在类中实现两个方法__iter__()与__next__(),其中__iter__()会返回迭代器本身,__next__()方法从迭代器返回下一项。如果没有其他项,则引发StopIteration异常,下面通过代码自己构造迭代器:

首先定义一个迭代器类:

classMyIterator:def__init__(self,max):self.max=maxdef__iter__(self):self.n=0returnselfdef__next__(self):ifself.n

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇