时间:2021-05-22
列表生成式语法:
[x*x for x in range(0,10)] //列表生成式,这里是中括号//结果 [0, 1, 4, 9, 16, 25, 36, 49, 64, 81](x*x for x in range(0,10)) //生成器, 这里是小括号//结果 <generator object <genexpr> at 0x7f0b072e6140>二者的区别很明显:
一个直接返回了表达式的结果列表, 而另一个是一个对象,该对象包含了对表达式结果的计算引用, 通过循环可以直接输出
结果
0149162536496481 当表达式的结果数量较少的时候, 使用列表生成式还好, 一旦数量级过大, 那么列表生成式就会占用很大的内存,
而生成器并不是立即把结果写入内存, 而是保存的一种计算方式, 通过不断的获取, 可以获取到相应的位置的值,所以占用的内存仅仅是对计算对象的保存
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了python生成器推导式用法。分享给大家供大家参考,具体如下:1.生成器推导式是继列表推导式后的有一中python推导式,他比列表推导式速度更快,
生成器,可迭代对象,迭代器之间究竟是什么关系?用一幅图来概括:1.生成器定义生成器方式一://区别于列表生成式gen=[x*xforxinrange(5)]ge
本文实例讲述了Python列表生成式与生成器操作。分享给大家供大家参考,具体如下:列表生成式:能够用来创建list的生成式比如想要生成类似[1*1,2*2,3*
生成器定义在Python中,一边循环一边计算的机制,称为生成器:generator。为什么要有生成器列表所有数据都在内存中,如果有海量数据的话将会非常耗内存。如
本文实例讲述了Python字典生成式、集合生成式、生成器用法。分享给大家供大家参考,具体如下:字典生成式:跟列表生成式一样,字典生成式用来快速生成字典,不同的是