擅长:python、mysql、java
<p>函数<a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.in1d.html" rel="noreferrer">numpy.in1d</a>似乎做了您想要的事情。唯一的问题是它只在1d数组上工作,所以您应该这样使用它:</p>
<pre><code>In [9]: np.in1d(fake, [0,2,6,8]).reshape(fake.shape)
Out[9]:
array([[ True, False, True],
[False, False, False],
[ True, False, True]], dtype=bool)
</code></pre>
<p>我不知道为什么这只限于1d数组。看看它的<a href="https://github.com/numpy/numpy/blob/master/numpy/lib/arraysetops.py#L284" rel="noreferrer">source code</a>,它首先看起来是将两个数组展平,然后它做一些聪明的排序技巧。但没有什么能阻止它在最后再次破坏结果,就像我不得不在这里亲手做的那样。</p>