python,2次操作:在数组中找到指定值之上和之下的最接近值,在另一个数组中查找关联值

时间:2013-05-31 06:38:02

标签: python

python问题: 我有2列数据,一个独立的因变量。我希望能够查找上面最近的值&从自变量数组中选择的最接近的值。所以,如果我的自变量只是一个数字列表[1,2,3,4,5,6 ...],我想要一个例程,如果我查询的话,它将返回2作为低值,3作为高值值2.44。

第2部分:一旦确定了这些值,我想从我的因变量中查找相关值。因此,如果我的因变量是5倍我的依赖,它将是[5,10,15,20 ......]。我想要一个从最后一步返回相关值的例程。最后一步返回2&在这个例子中,相关的值是10&。 15。

全部谢谢...

1 个答案:

答案 0 :(得分:2)

如果您有数字列表:

In [128]: L
Out[128]: [9, 8, 7, 6, 5, 4, 3, 2, 1]

首先对它们进行排序:

In [129]: L.sort()    
In [130]: L
Out[130]: [1, 2, 3, 4, 5, 6, 7, 8, 9]

然后进行检查:

In [131]: for lower, upper in zip(L[:-1], L[1:]):
   .....:     if lower <= 2.44 <= upper:
   .....:         print(lower, upper)
   .....:         break
   .....:         
2 3

调整if lower <= 2.44 <= upper以反映您是想要包含上限和下限还是排他性。

请自己尝试第二部分。