比较数组中的一个值和一系列值

时间:2018-01-04 17:15:37

标签: python numpy

我有一个如下所示的2D数组:

a = [[  0   0   0   0   0  25  30  35  40  45  50  55  60  65  70  75]
     [  4   5   6   7   8  29  34  39  44  49  54  59  64  69  74 250]]

我还有另一个看起来像这样的1D数组:

age_array = [45,46,3,7]

有没有办法验证age_array中的值是否在a的第一列中的2个值的范围内,如果没有,那么请转到下一列?例如,

if a[0: , :] <= age_array[i] <= a[1:, :]
      return True
else: return False

3 个答案:

答案 0 :(得分:0)

如果您想知道年龄数组中的每个条目是否介于a[0][0]a[1][0]

之间
a = [[0,   0,   0,   0,   0,  25,  30,  35,  40,  45,  50,  55,  60,  65,  70,  75],
     [4,   5,   6,   7,   8,  29,  34,  39,  44,  49,  54,  59,  64,  69,  74, 250]]

age_array = [45,46,3,7]

dct = {}

for age in age_array:
    for i in range(len(a[0])):
        if a[0][i] <= age and age <= a[1][i]:
            print(str(age) + ' is between ' + str(a[0][i]) + ' and ' + str(a[1][i]))
            break

输出:

45 is between 45 and 49
46 is between 45 and 49
3 is between 0 and 4
7 is between 0 and 7

答案 1 :(得分:-1)

您可以将两个数组转换为集合,然后检查age_array集是否是集合的子集。

不幸的是,由于您的第一个阵列格式不正确,我无法发布答案

答案 2 :(得分:-1)

很容易理解,但看起来可能很难看。

  app 
        ..... admin
               ..... CRUD
                         ....ADD
                         ....UPDATE
               ..... CRUDService
        ..... config