Python 高级特性(4)- 生成器

受内存限制,列表生成式创建的列表的容量肯定有限的

不仅占用很大的存储空间,如果我们仅仅需要访问前几个元素,那后面绝大多数元素占用的空间都白白浪费了

 

什么是生成器

若列表元素可以按照某种算法算出来,就可以在循环的过程中不断推算出后续需要用的元素,而不必创建完整的 list,从而节省大量的空间

边循环边计算的机制,叫生成器(generator)

 

最简单的生成器

L = [x * x for x in range(10)] print(L) print(type(L)) L = (x * x for x in range(10)) print(L) print(type(L)) # 输出结果 [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] <class 'list'> <generator object <genexpr> at 0x000001D607541EB8> <class 'generator'>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wssxpy.html