您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python中是否有内置product()?

Python中是否有内置product()?

是的,这是对的。Guido拒绝了内置prod()函数的想法,因为他认为很少需要它。

在Python 3.8中, prod()添加到math模块:

>>> from math import prod
>>> prod(range(1, 11))
3628800

正如您建议的那样,使用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() 的主要动机用例是计算阶乘。我们已经在@L_419_6@对此提供了支持

>>> import math

>>> math.factorial(10)
3628800

如果您的数据由浮点数组成,则可以使用带有指数和对数的 sum() 来计算乘积:

>>> from math import log, exp

>>> data = [1.2, 1.5, 2.5, 0.9, 14.2, 3.8]
>>> exp(sum(map(log, data)))
218.53799999999993

>>> 1.2 * 1.5 * 2.5 * 0.9 * 14.2 * 3.8
218.53799999999998
python 2022/1/1 18:53:05 有351人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶