生成器介绍:
在 Python 中,使用了 yield 的函数被称为生成器(generator)。跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作。使⽤yield⽅法每⼀次返回⼀个值,在每个结果之间挂起和继续它们的状态。
生成器表达式介绍:
⽣成器表达式是⽣成器的⼀个应⽤,是列表解析和⽣成器的结合,也是列表解析的拓展。
语法:
(X for Y in Z if J)
- X是需要得到的结果
- Z是可遍历对象
- Y是⽤来遍历Z的参数
- 当J为True时,返回X;否则不返回X
返回的是一个生成器对象。可以用list()
函数显示具体结果。
a = (x*x for x in [1,2,3,4] if x>=3)
print(a)
print(list(a))
运行结果:
<generator object at 0x0000026380FC96D0>
[9, 16]