这是一个创建于 1419 天前的主题,其中的信息可能已经有所发展或是发生改变。
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]: at 0x000002AC7FFA8CF0>
生成器每迭代一步吐出(yield)一个元素并计算和聚合后,进入下一次迭代,直到终点。