<p>如果您只对<code>True</code>/<code>False</code>结果感兴趣,那么这应该可以工作:</p>
<pre><code>In [1]: (abs(arr_f - a) < t).any()
Out[1]: True
</code></pre>
<p>解释:<code>abs(arr_f - a) < t</code>返回一个调用<code>any()</code>的布尔数组,以确定其值中的任何</em>是否为<code>True</code>。</p>
<p><strong>编辑</strong>将此方法与{a1}中建议的方法进行比较,可以发现此方法稍快:</p>
<pre><code>In [37]: arr_f = np.arange(0.05, 0.75, 0.008)
In [38]: timeit (abs(arr_f - a) < t).any()
100000 loops, best of 3: 11.5 µs per loop
In [39]: timeit np.isclose(arr_f, a, atol=t).any()
10000 loops, best of 3: 44.7 µs per loop
In [40]: arr_f = np.arange(0.05, 1000000, 0.008)
In [41]: timeit (abs(arr_f - a) < t).any()
1 loops, best of 3: 646 ms per loop
In [42]: timeit np.isclose(arr_f, a, atol=t).any()
1 loops, best of 3: 802 ms per loop
</code></pre>
<hr/>
<p>另一种也返回相关索引的解决方案如下:</p>
<pre><code>In [5]: np.where(abs(arr_f - a) < t)[0]
Out[5]: array([27, 28])
</code></pre>
<p>这意味着位于<code>arr_f</code>的索引27和28中的值在所需范围内,并且实际上:</p>
<pre><code>In [9]: arr_f[27]
Out[9]: 0.26600000000000001
In [10]: arr_f[28]
Out[10]: 0.27400000000000002
</code></pre>
<p>使用此方法还可以生成<code>True</code>/<code>False</code>结果:</p>
<pre><code>In [11]: np.where(abs(arr_f - a) < t)[0].any()
Out[11]: True
</code></pre>