1. 相比for 循环一个巨大的数组来说,迭代器省资源
实现斐波那契数列的生成器
迭代器实现
def fibon(n):
a = b = 1
for i in range(n):
yield a
a, b = b, a + b
数组实现
def fibon(n):
a = b = 1
result = []
for i in range(n):
result.append(a)
a, b = b, a + b
return result
当数据量巨大的时候,数组会用尽所有的资源,迭代器是懒加载的,调用一次next生成一个数据