Python : 生成器表达式Generator expressions

生成器表达式 Generator expressions 是列表推导式和生成器的高性能,内存使用效率高的推广.
  • 对1到9所有数字进行平方求和.
    过程是首先在内存中创建平方数列值列表,然后遍历列表,求和后释放内存.这样大列表会占用比较多的内存空间.
>>> sum([x*x for x in rang(1, 10)])
  • 通过生成器表达式就可以节省内存使用.
>>> sum(x*x for x in range(1, 10))
  • 比较两者的内存占用
>>> L = [x*x for x in range(1, 10)]
>>> L
[1,4,9,16,25,36,49,64,81]
>>> G = (x*x for x in range(1, 10))
>>> G
<generator object <genexgr> at 0x7f43bee46a98>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容