迭代器,生成器

Posted 扫驴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了迭代器,生成器相关的知识,希望对你有一定的参考价值。

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

以上是关于迭代器,生成器的主要内容,如果未能解决你的问题,请参考以下文章

迭代器和生成器

迭代器/可迭代对象/生成器

迭代器,可迭代对象,迭代器对象和生成器

迭代器&迭代对象&生成器

python——迭代器生成器装饰器

迭代器,生成器