Python 生成器
1、定义
通过列表生成式(列表推到式),我们可以直接创建一个列表。
但是,受到内存限制,列表容量肯定是有限的。而且,创建一个100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面的绝大多数元素占用的空间都白白浪费了。
所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算除后续的元素呢?
在Python中,这种一边循环一边计算的机制,称为生成器,generator。
2、得到生成器的方式
2.1 通过列表推导式
将外面的 [] 换成()
当没有元素能生成时,会报StopIteration的错误
通过循环,依次打印