学习python第十二天,函数4 生成器
Posted buildydream
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习python第十二天,函数4 生成器相关的知识,希望对你有一定的参考价值。
在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 0x1022ef630>
创建L
和g
的区别仅在于最外层的[]
和()
,L
是一个list,而g
是一个generator。
我们可以直接打印出list的每一个元素,但我们怎么打印出generator的每一个元素呢?
如果要一个一个打印出来,可以通过next()
函数获得generator的下一个返回值:
当然,上面这种不断调用next(g)
实在是太麻烦了,正确的方法是使用for
循环,因为generator也是可迭代对象:
>>> g = (x * x for x in range(10)) >>> for n in g: ... print(n)
以上是关于学习python第十二天,函数4 生成器的主要内容,如果未能解决你的问题,请参考以下文章