美文网首页Python
Python的基础知识之迭代器

Python的基础知识之迭代器

作者: 摸着石头过河_崖边树 | 来源:发表于2017-12-13 11:48 被阅读492次
    tmpdir__17_9_7_15_03_47.jpg

    一、概念

    迭代:按照一定的顺序访问集合中的每一个元素,或者叫遍历(其他语言叫做遍历);

    可迭代对象(Iterable):能被迭代的对象,或者说直接作用于for循环的对象,可以通过for..in来遍历的对象,比如数组(list)、元祖(tuple)字符串等;

    迭代器(Iterator):能作用于next() 函数,并不断返回下一个值的对象称为迭代器,是惰性计算的序列(很重要)

    二、常用操作

    1、判断一个对象是可迭代对象呢?方法是通过collections模块的Iterable类型判断

    isinstance(判断对象,collections.Iterable)

    2、判断一个对象是否是迭代器Iterator对象

    isinstance(判断对象,collections.Iterator)

    3、可迭代对象Iterable转化为迭代器对象Iterator

    iter(可迭代对象)

    4、使用迭代器迭代

    itemiter = iter('abc')
    for value in itemiter:
    print(value)

    三、总结

    1、迭代器的特性
    A.惰性计算数据,节省内存
    B.能记录状态,并通过next()函数执行下一个状态
    C.具有可迭代性

    2、集合数据类型如list、dict、str、tuple等是可迭代对象Iterable但不是迭代器Iterator,不过可以通过iter()函数转化为一个Iterator对象

    原因:Iterator对象表示的是一个数据流,Iterator对象可以被next()函数调用并不断返回下一个数据,直到没有数据时抛出StopIteration错误。Iterator对象表示一个无限大的数据,集合是有限集合,假如被next()到最后就是没有返回直接carsh

    3、生成器(generator)一定是迭代器,他是一种特殊的迭代器;

    如果想了解更多Python知识,请查看
    Python的基础知识之生成器
    Python的基础知识之装饰器

    最后赠言

    学无止境,学习Python的伙伴可以多多交流。

    相关文章

      网友评论

        本文标题:Python的基础知识之迭代器

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