`reduce` 是 Python 中的一个高阶函数,用于对序列的元素进行累积操作。`reduce` 函数接收两个参数:一个二元操作函数和一个序列。它会从左到右将函数应用于序列的元素,直到序列中只剩一个元素。
`reduce` 函数的原型是 `reduce(function, sequence)`。其中 `function` 是一个必须接收两个参数的函数,`sequence` 是要处理的序列。`reduce` 会将序列的前两个元素作为参数传递给 `function`,然后将 `function` 的返回值与序列的下一个元素再次作为参数传递给 `function`,以此类推,直到序列中的所有元素都被处理。
`reduce` 函数在 Python 2 中是内置函数,但在 Python 3 中被移到了 `functools` 模块中。
下面是一个使用 `reduce` 函数的例子,计算列表中所有元素的和:
from functools import reduce
def sum_func(x, y):
return x + y
numbers = [1, 2, 3, 4, 5]
result = reduce(sum_func, numbers)
print(result) 输出:15
在这个例子中,`sum_func` 是一个接收两个参数并返回它们和的函数。`reduce` 函数将 `sum_func` 应用于 `numbers` 列表中的所有元素,最终得到所有元素的和。