在Python中有一个内置的product()? [重复]

这个问题已经有一个答案在这里:            >            What’s the Python function like sum() but for multiplication? product()?                                    5个答案                            我一直在看一本教程和书,但我可以找不到一个内置的产品函数,即与sum()相同的类型,但我找不到任何东西,如prod()。

是唯一的方法,我可以通过导入mul()运算符在列表中找到项目的产品?

恩,那就对了。 Guido rejected the idea内置的prod()函数,因为他认为这是很少需要的。

正如你所建议的,使用reduce()和operator.mul()不难做到:

def prod(iterable):
    return reduce(operator.mul, iterable, 1)

>>> prod(range(1, 5))
24

在Python 3中,reduce()函数被移到了functools模块,所以你需要添加:

from functools import reduce

作为附注,prod()的主要激励用例是计算阶乘。我们已经在math module年支持:

>>> import math

>>> math.factorial(10)
3628800
http://stackoverflow.com/questions/7948291/is-there-a-built-in-product-in-python

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:在Python中有一个内置的product()? [重复]