擅长:python、mysql、java
<p>试试<a href="https://numpy.org/doc/stable/user/basics.broadcasting.html" rel="nofollow noreferrer">numpy broadcasting</a></p>
<pre><code>dist_mat = np.sum((a[:,None] - b)**2, axis=-1)**.5
</code></pre>
<p>输出:</p>
<pre><code>array([[ 1.73205081, 10.77032961, 3.60555128, 10.81665383, 11.18033989,
8.77496439, 7.87400787, 7.87400787],
[ 9.21954446, 3.16227766, 9.64365076, 11.44552314, 7.54983444,
9.94987437, 3.46410162, 8.1240384 ],
[ 5.38516481, 8.60232527, 6.40312424, 5.38516481, 8.66025404,
6.70820393, 8.1240384 , 9.16515139],
[ 3.31662479, 11.83215957, 3. , 11. , 11.18033989,
8.06225775, 9.89949494, 7.34846923],
[ 1.73205081, 9.16515139, 1. , 10.04987562, 9. ,
6.70820393, 7.34846923, 5.09901951]])
</code></pre>