问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

列表生成式 和 生成器表达式 的区别

发布网友 发布时间:2022-04-22 14:41

我来回答

1个回答

热心网友 时间:2023-08-17 05:47

列表生成式语法:

[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>

二者的区别很明显:
一个直接返回了表达式的结果列表, 而另一个是一个对象,该对象包含了对表达式结果的计算引用, 通过循环可以直接输出

g = (x*x for x in range(0,10))for n in g: print n

结果

当表达式的结果数量较少的时候, 使用列表生成式还好, 一旦数量级过大, 那么列表生成式就会占用很大的内存,
而生成器并不是立即把结果写入内存, 而是保存的一种计算方式, 通过不断的获取, 可以获取到相应的位置的值,所以占用的内存仅仅是对计算对象的保存
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 笔记本电脑如何调亮屏幕亮度 大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 落户集体户口和居民户口区别 广州市街道集体户口好处和坏处 python怎么创建列表 非社区集体户和社区集体户区别 西安市集体户口的利弊 集体户口是什么?对自己有什么好处和坏处? 汽车双闪警示灯有什么作用? 集体户口与街道户口的区别? 转向灯和双闪灯的工作原理 社区集体户和单位集体户的区别 汽车双闪灯一直闪烁怎么办? 人才中心集体户与街道集体户有什么区别? 你好请问一下荣威i5的自动挡双闪警示灯怎么打开? 什么是牙周袋? 捷达车双闪灯怎么打开啊? “双闪灯”是什么意思 同济大学志愿者准备盲袋的原因是什么? KOREIAT电视怎么打开投屏功能 汽车的双闪灯怎么开启? 盲袋博主啥意思? 办理广州户口是落集体户口好呢,还是落在 怎样用三种方法生成文件夹列表 关于python列表生成的一个问题 集体户口与当地普通居民户口有什么区别吗? python中集合的列表生成式表示法 求助python中列表生成的问题 Python随机生成列表 从excel一个表格调取数据生成一个数据列表 word怎么自动生成目录列表 Python3 列表生成 Python列表生成器的循环技巧分享 python 列表生成式格式 excel下拉列表怎么生成如图 Excel表格由列表自动生成另一单元格数据 python的result = [lambda x: x + i for i in range(10)] print(resultresult[0](10))怎么理解 如何生成一个文件夹内的所有文件的文件列表? python列表生成式问题 怎样在微信群隐藏自己身份 怎样隐藏微信群或微信好友, nba2k21技术特点选哪个最好