• python 迭代器


    迭代器(Iterator)

    这里的迭代可以指for循环,在Python中,对于像list,dict和文件等而言,都可以使用for循环,但是它们并不是迭代器,它们属于可迭代对象。
    什么可迭代对象
    最简单的解释:可以使用for...in...语句进行循环的对象,就是可迭代对象(Iterable),可以使用isinstance()方法进行判断。

    from collections import Iterable 
    type = isinstance('python', Iterable)
    print type

    什么是迭代器
    迭代器指的是可以使用next()方法来回调的对象,可以对可迭代对象使用iter()方法,将其转换为迭代器。

    temp = iter([1, 2, 3])
    print type(temp)
    print next(temp)

    此时temp就是一个迭代器。所以说,迭代器基于两个方法:

    • next:返回下一个项目
    • iter 返回迭代器本身

    可理解为可被next()函数调用并不断返回下一个值的对象就是迭代器,在定义一个装饰器时将需要同时定义这两个方法。

    迭代器的优势

    在构建迭代器时,不是将所有的元素一次性的加载,而是等调用next方法时返回元素,所以不需要考虑内存的问题。
    迭代器应用场景

    那么,具体在什么场景下可以使用迭代器呢?

      • 数列的数据规模巨大
      • 数列有规律,但是不能使用列表推导式描述。
  • 相关阅读:
    帮忙看看怎么优化这个最长的sql
    12种不宜使用的Javascript语法
    走格子
    乘法逆元
    完美字符串
    全排列问题
    A. Sorting Railway Cars
    Prim
    矩阵取数
    套题T8&T9
  • 原文地址:https://www.cnblogs.com/linwenbin/p/10491689.html
Copyright © 2020-2023  润新知