擅长:python、mysql、java
<p>您应该考虑到<code>X, Y, k</code>是NumPy数组,而不是标量,并且有些操作符对它们重载。尤其是<code>==</code>和基于布尔的索引。<code>==</code>将是元素比较,而不是整个数组比较。你知道吗</p>
<p>了解其工作原理:</p>
<pre><code>In [9]: Y = np.array([0,1,2])
In [10]: k = np.array([0,1,3])
In [11]: Y==k
Out[11]: array([ True, True, False])
</code></pre>
<p>因此,<code>==</code>的结果是一个布尔数组。你知道吗</p>
<pre><code>In [12]: X=np.array([0,2,4])
In [13]: X[Y==k]
Out[13]: array([0, 2])
</code></pre>
<p>当条件为<code>True</code>时,结果是一个包含从<code>X</code>中选择的元素的数组</p>
<p>因此<code>len(Xk)</code>将是<code>X</code>和<code>k</code>之间匹配元素的数量。你知道吗</p>