Python - Reduce 函数
reduce()
函数定义在 functools 模块中。与 map 和 filter 函数一样,reduce()
函数接收两个参数,一个函数和一个可迭代对象。但是,它不返回另一个可迭代对象,而是返回一个单一值。
语法
functools.reduce(myfunction, iterable, initializer)
参数函数从左到右累积应用于列表中参数。第一次调用函数的结果成为第一个参数,列表中的第三个项成为第二个。重复此过程,直到列表耗尽。
在下面的示例中,定义了 mult()
函数来返回两个数字的乘积。此函数与 1 到 4 之间的数字范围(即 1、2 和 3)一起在 reduce()
函数中使用。输出是 3 的阶乘值。
示例:reduce()
import functools
def mult(x,y):
print("x=",x," y=",y)
return x*y
fact=functools.reduce(mult, range(1, 4))
print ('Factorial of 3: ', fact)
结果
X=1 y=2 X=2 y=3 Factorial of 3: 6