1、定义:从左到右将两个参数的函数累加到序列的项上,从而将序列简化为单个值
functools.reduce(function, iterable[, initializer])
Apply function of two arguments cumulatively to the items of sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). The left argument, x, is the accumulated value and the right argument, y, is the update value from the sequence. If the optional initializer is present, it is placed before the items of the sequence in the calculation, and serves as a default when the sequence is empty. If initializer is not given and sequence contains only one item, the first item is returned.
2、例子
from functools import reduce
def func(x,y):
return x+y
res = reduce(func,[2,3,4,5,6])
print(res)
res1 = reduce(lambda x,y:x-y,[2,3,4,5,6])
print(res1)
image.png