生成器(generator)是什么,怎么用,有什么优点

打印0~10000个数字:
1、生成一个列表n,再循环打印1-10000个数字,这样做会占用系统的内存;
n = [i in [i in rang(0, 10000)]
for i in n:
    print(i)
2、用下列生成器,就不用先生成列表,利用循环,每调用一次,就使用一次,不占内存空间
def gen(max):
    n=0
    while n<=max:
	n+=1
	yield n

g = gen(10000)
就像使用迭代器一样,使用返回值
for i in g:
    print(i)

print(next(g))
print(next(g))
print(next(g))

猜你喜欢

转载自blog.csdn.net/qq_33867131/article/details/81033489