欢迎访问宙启技术站
智能推送

Python函数示例:使用reduce()函数计算阶乘

发布时间:2023-08-05 03:44:27

reduce() 函数在 Python 中是一个高阶函数,用于对一个序列进行累积操作。可以通过传递一个函数来实现累积操作,这个函数接收两个参数,并返回一个结果。reduce() 函数对序列中的每个元素依次调用这个函数,将之前的结果和当前元素累积起来,最终返回一个结果。

下面是使用 reduce() 函数计算阶乘的示例代码:

from functools import reduce

def factorial(n):
    return reduce(lambda x, y: x * y, range(1, n+1))

result = factorial(5)
print(result)  # 输出: 120

上面的代码中,我们首先导入了 functools 模块中的 reduce() 函数。然后定义了一个名为 factorial 的函数,这个函数接收一个整数 n,然后通过 reduce() 函数和 range() 函数计算出 n 的阶乘。

reduce() 函数中的 lambda 表达式接收两个参数 x 和 y,表示之前累积的结果和当前元素。lambda 表达式中的 x * y 就是对这两个参数进行乘法操作,得到的结果作为下一次调用 lambda 表达式的 x 参数。

我们调用 factorial(5) 来计算 5 的阶乘,并将结果打印出来。

输出结果为 120,即 5 的阶乘。