如何将变量值与数组进行比较
在Python中,我该如何比较两个浮点数的值,以确保它们之间的差距在一个可以接受的范围内?
举个例子:
variable = 17.40
array = [14.40, 14.12, 45.50]
我需要将一个变量的值与数组中的元素进行比较,看看哪些元素的值足够接近。
1 个回答
2
来自这个问题,你也问过。这里有一段代码,可以检查你的变量是否在数组里(除非你想要的比较方式不是这个):
TOLERANCE=10**-6
def are_floats_equal(a,b):
return abs(a-b) <= TOLERANCE
def float_in_array(number, array):
return True in [are_floats_equal(number, a) for a in array]
补充一下。这样做可能会更高效一点(虽然写得不那么简洁),因为我们只遍历数组一次:
def float_in_array(number, array):
for a in array:
if are_floats_equal(number, a):
return True
return False