gpt4 book ai didi

python - 为什么我的列表结构数学运算相差几十亿分之一?

转载 作者:太空宇宙 更新时间:2023-11-03 12:45:21 25 4
gpt4 key购买 nike

我有一些非常简单的函数,它试图返回一个列表,该列表是输入列表与该列表的平均值之间的距离。代码几乎 有效。关于结果略有偏差的原因有什么想法吗?

def distances_from_average(test_list):
average = [sum(test_list)/float(len(test_list))]*len(test_list)
return [x-y for x,y in zip(test_list, average)]

这是我的示例结果:[-4.200000000000003, 35.8, 2.799999999999997, -23.200000000000003, -11.200000000000003] 应该等于 [4.2, -35.8, -2.8, 23.2, 11.2]

最佳答案

这是由于计算机表示 float 的方式所致。

它们并不总是像您期望的那样准确,因此不应用于检查相等性或表示金额等内容。

如何使用这些数字?如果您需要那种准确性,也许有更好的方法来使用这些信息,例如检查范围而不是检查相等性。

Here is some good reading material on the subject

关于python - 为什么我的列表结构数学运算相差几十亿分之一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38882255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com