复习迭代器

    迭代器在之前做题的时候,有过了解和涉及,趁着今天这个时间来复习一下迭代器。

    首先来了解什么是迭代器的作用。

            迭代器是用来循环访问一系列元素,它不仅可以迭代序列,也可以迭代不是序列但表现出序列行为的对象。

迭代器的优点:

        迭代器访问与for循环访问非常相似,但也有不同之处。对于支持随机访问的数据结构如元组和列表,迭代器并无优势,因为迭代器在访问时会丢失数据索引值,但当遇到无法随机访问的数据结构时,如集合时,迭代器是唯一访问元素的方式。

        迭代器仅仅在访问到某个元素时才使用该元素,在这之前,元素可以不存在,所以迭代器适用于迭代一些无法预知的元素总数的巨大的集合。

        迭代器提供了一个统一的访问集合的接口,定义iter()方法对象,就可以使用迭代器访问。

理解迭代器:

        可直接作用于for循环的数据类型如list,tuple,dict等统称为可迭代对象:Iterable,使用isinstance()可以判断一个对象是否可以迭代对象,可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator。next()函数访问每一个对象直到对象访问完毕,返回一个stopIteration异常。

        所有的Iterbale都可以通过iter()函数转化为Iterator。

定义迭代器

当自己定义迭代器时需要定义一个类。类里包含一个iter()函数,这个函数能够返回一个带next()方法的对象。

例如

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容