函数运算过程如下:
reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
1,运算的第一个结果(x1+x2)作为第一个参数,继续跟x3计算
2,只能是两个参数。设置三个参数的函数出现了错误。
>>> from functools import reduce
>>> def fn(x, y):
... return x * 10 + y
...
>>> reduce(fn, [1, 3, 5, 7, 9])
13579
>>> def add(x,y,z):
... return(x+y+z)
>>> from functools import reduce
>>> reduce(add,[1,2,3,4,5])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: add() missing 1 required positional argument: 'z'