栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python中是否有内置product()?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/624736.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号