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

时间:2013-02-21 10:39:19

标签: python arrays compare

在Python中,如何比较两个浮点变量值以确保它们是否在彼此的某个容差范围内?

例如:

variable = 17.40
array = [14.40, 14.12, 45.50]

我需要将变量值与数组元素进行比较,以查看哪一个足够接近。

1 个答案:

答案 0 :(得分:2)

你也问this question。这是一段代码,用于检查您的变量是否在数组中(除非通过将变量值与数组元素进行比较而不是您的意思):

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