Python - AI 助手

Python functools reduce() 函数



Python 的 `reduce()` 函数将多个参数归约为单个值。此函数通过将其应用于可迭代对象来返回聚合值。它从第一对参数开始,然后将结果与下一个值一起使用。

语法

`reduce()` 函数的语法如下所示。

reduce(func, iterable, initializer)

参数

`partial()` 函数的参数列在下面:

  • **func:** 此函数接受两个参数并返回单个值。
  • **iterable:** 计算需要归约的值序列。
  • **initializer:** 用于累积结果的初始值。如果未指定初始值,则第一个元素将用作初始值。

返回值

此函数返回单个聚合值。

示例 1

在下面的示例中,我们使用 `functools` 模块中的 `reduce()` 函数,它通过将 lambda 函数应用于列表来计算列表的总和和最大元素。

import functools
list = [5, 10, 15, 20, 25]
print("The sum of the list is : ", end="")
print(functools.reduce(lambda x, y: x+y, list))
print("The maximum elements are : ", end="")
print(functools.reduce(lambda x, y:   x if x > y else y, list))

输出

结果如下所示:

The sum of the list is : 75
The maximum elements are : 25

示例 2

在下面的示例中,我们使用 `reduce()` 函数来计算列表的总和。

from functools import reduce
def sum(x, y):
    return x+y
a = reduce(sum, [3, 5, 7, 9, 11])
print(a)

输出

代码如下所示:

35

示例 3

现在,我们从给定的参数中计算初始值,lambda 函数一次添加两个数字。第三个参数在此过程中充当初始值,可以使用 `reduce()` 函数实现。

from functools import reduce
myNumbs = (2, 4, 6, 8, 10, 12, 14)
print(reduce(lambda x, y: x+y, myNumbs, 8))

输出

输出如下所示:

64
python_modules.htm
广告