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 的阶乘。
