📅  最后修改于: 2023-12-03 15:04:08.152000             🧑  作者: Mango
在 Python 中,reduce() 是一个内置的高阶函数。它接受一个可迭代对象,返回一个单个结果,该结果是通过在每个元素上调用两个参数函数来执行一系列二进制操作得到的。
reduce(function, iterable[, initializer])
reduce()
函数有三个参数:
下面是一个简单的 reduce() 应用程序,该应用程序计算列表中所有数字的和。
from functools import reduce
list_nums = [1, 2, 3, 4, 5]
sum_nums = reduce(lambda x, y: x + y, list_nums)
print(sum_nums)
输出结果为:
15
在这里,我们使用了 reduce() 函数来遍历列表并调用一个 lambda 函数来返回两个值的 sum。
from functools import reduce
list_nums = [1, 2, 3, 4, 5]
# 找到列表中最大的数字
max_num = reduce(lambda x, y: x if x > y else y, list_nums)
print(max_num)
# 计算阶乘
factorial = reduce(lambda x, y: x * y, range(1, 6))
print(factorial)
输出结果:
5
120
在这里,我们通过使用 reduce() 函数和一个 lambda 函数来找到列表中最大的数字和计算阶乘。
在这里,我们介绍了 Python 中 reduce() 函数的语法和用法。尽管它已被从 Python 2.0 中移除,但它仍然在 Python 3.x 中存在,并且可以作为 functools 模块的一部分使用。