擅长:python、mysql、java
<p>假设这些距离值存储在数组<code>dists</code>中,这里有一种方法-</p>
<pre><code>sort_idx = dists.argsort()
mask = dists < 2
out = np.concatenate((a[sort_idx[mask[sort_idx]]],a[~mask]))
</code></pre>
<p>样本运行-</p>
^{pr2}$
<hr/>
<p>上面的方法连接了<code>a</code>的两个索引部分,从运行时来看,这可能不是很有效。因此,考虑到性能,您可以创建一个串联索引数组,然后用它在<code>one-go</code>中索引到<code>a</code>。因此,前一个实现的最后一行必须更改,如-</p>
<pre><code>out = a[np.concatenate((sort_idx[mask[sort_idx]],np.where(~mask)[0]))]
</code></pre>