zoukankan      html  css  js  c++  java
  • Python学习笔记(迭代,列表解析,生成器)

    迭代(iterable):支持每次返回自己所包含一个对象的

    iter()得到迭代器,.next()遍历列表。

    列表解析:根据已有列表高效生成列表的方式。

    生成器(Generator):

    通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。

    所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,称为生成器(Generator)。

    >>>l = [i*i for i in range(10)]

    >>>print l

    0 ,1, 4 ,9 ,16, 25, 36 ,49 ,64, 81

    >>>g =(i*i for i in range(10))

    >>>print g

    generator object <genexpr> at 0x104feab40>

     next()方法实现单个打印出来

    >>> g.next()
    0
    >>> g.next()
    1
    >>> g.next()
    4
    >>> g.next()
    9
    >>> g.next()
    16
    >>> g.next()
    25
    >>> g.next()
    36
    >>> g.next()
    49
    >>> g.next()
    64
    >>> g.next()
    81
    >>> g.next()

     

  • 相关阅读:
    EveryOne Piano
    3D扫描商店
    Substance PBR Guide
    C2GOASM
    Unity调试外部DLL
    BinaryReader优化
    IL
    如何画头发
    Bitrix24
    Mac查找包含指定字符串的文件
  • 原文地址:https://www.cnblogs.com/seven000/p/7054102.html
Copyright © 2011-2022 走看看