1、生成器
我们知道,列表生成式生成的列表占在内存中。当列表的元素较少时还行,但是达到了一定的数量,就会非常的浪费内存,因为我们用的可能是其中很少的几个元素,其他的就闲置在那。而生成器就不一样了,他就像是一个函数一样,调用的时候,生成器才运行。所以,生成器节省了很大部分空间。每次调用生成器,它都会记住一个值,下次调用的时候,以上次的值为基准,推算出下一个值。生成器我们叫做generator。
(1)生成器的第一种创建方法:
a=( i for i in range(10))
print(a)
>>> at 0x000000000270A570>
(2)生成器 penerator
生成器的第一种创建方法类似列表生成式,只不过是把 [ ] 换成了 ( ) 。但是我们输出之后,结果并没有像列表生成式那样,返回一个 list 。next()函数是调用的方法。比如:
# generator 的第一种调用方法:
next(g)
# 实例1:
g = (x for x in range(10))
>>> next(g)
0
>>> next(g)
1
>>> next(g)
2
......
>>> next(g)
9
>>> next(g)
Traceback (most rece