Python基础教程

015_reduce函数累计算

reduce函数累计算

reduce函数累计算

reduce在2.x中是内置函数,到了python3以后移动到了functools 模块,它的作用是从左到右对一个序列各项累计计算,最终得到一个单一值。累计计算函数的定义需要提供两个参数。常见的累计计算有累加,累乘。

reduce() 函数语法:

reduce(function, iterable[, initializer])

说明:

  • function -- 函数,有两个参数
  • iterable -- 可迭代对象
  • initializer -- 可选,初始参数
from functools import reduce

alist = [1, 2, 3, 4]

# 自定义累计处理函数
def addFuc(x,y):
    return x+y

# 累计求和,利用自定义函数
asum=reduce(addFuc,alist)
print(asum)         # 10

# 累计求和,利用lambda表达式
asum2=reduce(lambda x, y: x+y, alist)
print(asum2)        # 10

# 累乘
amult=reduce(lambda x, y: x*y, alist)
print(amult)        # 24
这篇文章对您有用吗?

我们要如何帮助您?