背景:当我们创建一个包含几十万几百万个元素的列表,不仅占用很大的存储空间,而且不是每个元素都需要访问的,这样绝大数的元素都是浪费空间。
所以需要一种新的存储元素的方式----生成器(generator)。
生成器可以按照某种算法推算后面的元素,而且是一边循环一边计算
生成器的创建方式:
1)把一个列表生成式的[]改成()即可
2)使用函数实现
# 2、使用yield函数
# 打印斐波拉契数列
def fib():
a, b = 0, 1
while True:
yield a
a, b = b, a + b
f = fib()
print(next(f))
print(next(f))
print(next(f))
print(next(f))
res = next(f)