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

迭代器,生成器

时间:2018-02-10 00:02:57      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:exp   隐式   log   xxx   lis   expr   iter   可迭代对象   list   

生成器就是迭代器,能调用next()的就是迭代器。迭代器是可迭代对象,除了迭代器是,list,等也是可迭代对象,但是list等并不是迭代器,因为他不能调用next(),

可以用iter()函数将list这些转化为迭代器。for xxx in list ,这里有一个隐式转化,会先将list转为迭代器。

 

 

>>> 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>

 

也就是说[x for x in range(10)]是列表,(x for x in range(10))是生成器

 

特别的[x for x in range(10) if x>5]结果是[6,7,8,9]

迭代器,生成器

标签:exp   隐式   log   xxx   lis   expr   iter   可迭代对象   list   

原文地址:https://www.cnblogs.com/saolv/p/8436954.html

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