码迷,mamicode.com
首页 > 其他好文 > 详细

生成器(generator)

时间:2018-04-13 18:03:39      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:内存   通过   生成   generator   一个   直接   for循环   对象   tor   

通过列表生成式,我们可以直接创建一个列表。但是,受到内存的限制,列表的容量肯定是有限的。

在python中,有种一边循环一边计算的机制,称为生成器,generator,从而节省大量的空间。

 

创建一个generator,第一种方法很简单,把列表生成式的[]改成()就可以了。

L = [x*x for x in range(1,11)] 改为

g =  (x*x for x in range(1,11))

得到的g为一个generator,如果需要获得generator的值我们可以用过next()函数。

generator保存的是算法,每次调用next(g)就会出现下一个元素的值,直到抛出StopIteration的错误。

因为generator是可迭代对象,所以正确的方法是用for循环来处理generator。

for i in g :

    print i  也可以将所有元素遍历出来。

 

生成器(generator)

标签:内存   通过   生成   generator   一个   直接   for循环   对象   tor   

原文地址:https://www.cnblogs.com/wajsq/p/8710279.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!