Python入门:生成器定义

生成器定义:

       通过列表生成式,我们可以直接创建一个列表,但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,称为生成器:generator

    列表生成式:

    [i*2 for i in range(10)]

    生成器:

  (i*2 for i in range(10))

 

  生成器特性:

  1.生成器只有在调用时才会生成相应的数据

  2.只记录当前位置

  3.只有一个__next__()方法或next()

  4.形式: (i*i for i in range(100))

posted @ 2018-07-16 21:30  luckerzhang  阅读(258)  评论(0编辑  收藏  举报