首页 > 其他 > 详细

迭代器,生成器

时间:2018-02-09 23:43:06      阅读:391      评论:0      收藏:0      [点我收藏+]

生成器就是迭代器,能调用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]

迭代器,生成器

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!