gpt4 book ai didi

python - 使用带有浮点值的列表运算符 "in"

转载 作者:太空宇宙 更新时间:2023-11-03 13:47:36 24 4
gpt4 key购买 nike

我有一个包含 float 的列表,每个数字有 3 位小数(例如 474.259)。如果我像这样验证列表中的数字:

if 474.259 in list_sample:
print "something!"

然后显示消息,但如果我从另一个列表中取出数字并将其四舍五入:

number = other_list[10]
number = round(number, 3)
if number == 474.259:
print "the numbers are same!"
if number in list_sample:
print "something!"

第二条消息没有显示。

最佳答案

比较 float 以获得完全相等通常不会如您所愿。这是因为计算机中的 float 具有一种表示(存储格式),对于许多实数来说,这种表示本质上是不准确的。

我建议在这里阅读:http://floating-point-gui.de/并使用“epsilon”公差值进行“模糊比较”之类的操作,只要它们相差小于 x% 或其他任何值,就认为数字相等。

关于python - 使用带有浮点值的列表运算符 "in",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16380272/

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