reduce() 是 Python 的内置函数,用于对可迭代对象(如列表或元组)中的元素进行累积操作。这个函数会连续地应用一个二元操作函数到序列的元素上,将序列中的元素减少到单个输出值。
reduce() 函数的语法如下:
reduce(function, iterable[, initializer])
参数说明:
function:一个二元操作函数,用于对可迭代对象中的元素进行累积操作。这个函数必须接受两个参数。iterable:一个可迭代对象,如列表或元组。initializer(可选):初始值。如果提供,则将其放在可迭代对象中的元素之前,并在结果中返回。如果未提供,则使用可迭代对象中的第一个元素作为初始值。
示例:
from functools import reduce
# 使用 lambda 函数计算列表中所有元素的和
numbers = [1, 2, 3, 4, 5]
sum_of_numbers = reduce(lambda x, y: x + y, numbers)
print(sum_of_numbers) # 输出:15
# 使用 lambda 函数计算列表中所有元素的乘积
product_of_numbers = reduce(lambda x, y: x * y, numbers)
print(product_of_numbers) # 输出:120
# 使用初始值
numbers_with_zero = [0, 1, 2, 3, 4, 5]
sum_with_zero = reduce(lambda x, y: x + y, numbers_with_zero, 10)
print(sum_with_zero) # 输出:25,因为初始值为10
注意:在 Python 3 中,reduce() 函数已经从 __builtins__ 模块移动到 functools 模块,因此你需要先从 functools 导入它。在 Python 2 中,reduce() 是内置函数,不需要导入。