????????reduce() 是一个高阶函数,用于对一个序列进行逐一递归操作,通常用于对序列中的元素进行某种累积或合并。在 Python 中,reduce() 函数通常用于简化重复的代码,使代码更加简洁和易于理解。
????????reduce() 函数通常接受两个参数:一个二元操作函数和一个序列。二元操作函数用于定义如何将序列中的两个相邻元素进行合并或累积。序列可以是列表、元组、字符串等可迭代对象。
????????reduce() 函数的语法如下:
reduce(function, iterable[, initializer])
????????其中,function 是二元操作函数,iterable 是可迭代对象,initializer 是可选的初始值。
????????1、使用 reduce() 函数将 numbers 列表中的所有元素相乘。lambda x, y: x * y 是一个匿名函数,用于定义如何将两个相邻元素相乘。最终的结果是 120,即 1 * 2 * 3 * 4 * 5 的结果。
from functools import reduce
numbers = [1, 2, 3, 4, 5]
product = reduce(lambda x, y: x * y, numbers)
print(product) # 输出 120
????????2、除了使用 functools.reduce(),Python 3.8 版本以后还提供了一个新的 reduce() 函数,可以直接在列表推导式中使用。下面是一个使用新 reduce() 的示例:
numbers = [1, 2, 3, 4, 5]
product = reduce((lambda x, y: x * y), numbers)
print(product) # 输出 120
????????在这个示例中,我们直接在列表推导式中使用 reduce() 函数,语法更加简洁。