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

pythopn 生成器

时间:2018-01-12 20:28:14      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:一个   pytho   生成   tor   而且   list   object   block   expr   

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

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

>> L = [x x for x in range(10)]
>> L
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>> g = (x
x for x in range(10))
>> g
<generator object <genexpr> at 0x104feab40>

pythopn 生成器

标签:一个   pytho   生成   tor   而且   list   object   block   expr   

原文地址:http://blog.51cto.com/13562606/2060375

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