Python math.fsum() 方法用于计算浮点数的可迭代对象(例如列表或元组)的总和。它减少了使用内置 + 运算符将大量浮点值相加时可能发生的精度损失。
例如,如果您有一个浮点数序列 [0.1, 0.2, 0.3],则与标准 sum([0.1, 0.2, 0.3]) 方法将返回更准确的结果,与标准 sum([0.1, 0.2, 0.3]) 相比,标准sum(由于浮点运算的精度有限)可能会产生舍入误差。
语法
以下是 Python math.fsum() 方法的基本语法 -
参数
此方法接受包含浮点数的可迭代对象(例如列表、元组或任何其他可迭代对象)作为要计算总和的参数。
返回值
该方法返回一个 float,它表示可迭代对象中数字的总和。
示例 1
在下面的示例中,我们使用 math.fsum() 方法计算数字 “[0.1, 0.2, 0.3]” 之和 -
输出
获得的输出如下 -
The result obtained is: 0.6
示例 2
在这里,我们使用生成器表达式为 i 生成 0.1/i 的数字,范围从 “1 到 5”。然后我们使用 math.fsum() 方法计算这些数字的总和 -
输出
以下是上述代码的输出 -
The result obtained is: 0.22833333333333333
示例 3
如果我们将整数作为参数传递给 fsum() 方法,它将返回一个浮点数 −
输出
我们得到的输出如下所示 -
The result obtained is: 15.0
示例 4
在此示例中,我们使用 math.fsum() 方法计算空列表的总和 -
输出
生成的结果如下所示 -
The result obtained is: 0.0