Python中是否有内置product()?

Python中是否有内置product()?,第1张

Python中是否有内置product()? 发音

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

Python 3.8更新

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

>>> from math import prod>>> prod(range(1, 11))3628800
用reduce()替代

正如您建议的那样,使用
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模块中对此提供了支持:

>>> 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.8218.53799999999998


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5630621.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存