Python : 迭代器和生成器

匿名 (未验证) 提交于 2019-12-02 22:51:30

问: 将列表生成式中[]改成() 之后数据结构是否改变?
答案:是,从列表变为生成器.
L = [xx for x in range(10)]
L
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
g = (x
x for x in range(10))
g
<generator object at 0x0000028F8B774200>

通过列表生成式,可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含百万元素的列表,不仅是占用很大的内存空间,如:我们只需要访问前面的几个元素,后面大部分元素所占的空间都是浪费的。因此,没有必要创建完整的列表(节省大量内存空间)。在Python中,我们可以采用生成器:边循环,边计算的机制―>generator

文章来源: https://blog.csdn.net/weixin_44523387/article/details/91608954
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!