如何将变量值与数组进行比较

-1 投票
1 回答
2349 浏览
提问于 2025-04-17 16:37

在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

撰写回答