浅谈Python中列表生成式和生成器的区别
发布时间:2020-12-16 21:44:25 所属栏目:Python 来源:网络整理
导读:列表生成式语法: [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 二者的区别很明显: 一个直接返回了表达
列表生成式语法: [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 结果 0 1 4 9 16 25 36 49 64 81 当表达式的结果数量较少的时候, 使用列表生成式还好, 一旦数量级过大, 那么列表生成式就会占用很大的内存,
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |