@author jackzhenguo
@desc
@date 2019/12/30
132 sum函数计算和聚合同时做
Python中的聚合类函数sum
,min
,max
第一个参数是iterable
类型,一般使用方法如下:
a = [4,2,5,1]
sum([i+1 for i in a]) # 16
使用列表生成式[i+1 for i in a]
创建一个长度与a
一行的临时列表,这步完成后,再做sum
聚合。
试想如果你的数组a
长度十百万级,再创建一个这样的临时列表就很不划算,最好是一边算一边聚合,稍改动为如下:
a = [4,2,5,1]
sum(i+1 for i in a) # 16
此时i+1 for i in a
是(i+1 for i in a)
的简写,得到一个生成器(generator
)对象,如下所示:
In [8]:(i+1 for i in a)
OUT [8]:<generator object <genexpr> at 0x000002AC7FFA8CF0>
生成器每迭代一步吐出(yield
)一个元素并计算和聚合后,进入下一次迭代,直到终点。
大家在看
AI安装教程
AI本地安装教程
微软AI大模型通识教程
微软AI大模型通识教程
AI大模型入门教程
AI大模型入门教程
Python入门教程
Python入门教程
Python进阶教程
Python进阶教程
Python小例子200道练习题
Python小例子200道练习题
Python练手项目
Python练手项目
Python从零在线练习题
Python从零到一60题