Python:查找数组中属于某个范围的元素

时间:2018-02-15 16:58:06

标签: python

我有一个数组和一个整数

import numpy as np

a = np.array([1,2,3,4])
b = 3

我想找到a+-diff b范围内的所有元素。如果diff=1那么我可以使用

执行此操作
d = np.where( (a == b - 1) | (a == b) | (a == b + 1) )
vals = a[d]

但是如果diff = 2,或者未确定,我想创建一个以diff作为输入的函数呢?

我确信必须有一种比我发现的更有效,更灵活的编码方式。

我正在使用Python 3.5

1 个答案:

答案 0 :(得分:2)

您可以使用不等式表达式:

a[ (b + diff >= a) & (a >= b - diff) ]