📜  python reduce() - Python (1)

📅  最后修改于: 2023-12-03 15:04:08.152000             🧑  作者: Mango

Python 中的 reduce()

在 Python 中,reduce() 是一个内置的高阶函数。它接受一个可迭代对象,返回一个单个结果,该结果是通过在每个元素上调用两个参数函数来执行一系列二进制操作得到的。

语法
reduce(function, iterable[, initializer])

reduce() 函数有三个参数:

  • function:调用的函数。必须接受两个参数:累积器和 iterable 中的下一个元素。返回执行后的累积结果。
  • iterable:可迭代对象,要在其中使用函数。
  • initializer:累加,初始值(可选)。
示例

下面是一个简单的 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 模块的一部分使用。