擅长:python、mysql、java
<p>您可以使用<a href="https://docs.scipy.org/doc/numpy/user/basics.broadcasting.html" rel="nofollow noreferrer">^{<cd1>}</a>,方法是将<code>b</code>从<code>1D</code>扩展到<code>2D</code>,方法是引入一个新的单态轴作为第二个带有<a href="https://docs.scipy.org/doc/numpy/reference/arrays.indexing.html#numpy.newaxis" rel="nofollow noreferrer">^{<cd5>}</a>的轴,然后对<code>c</code>执行操作。这将简化那里的事情,也实现了矢量化的方法,就像这样-</p>
<pre><code>np.sqrt(np.abs(b[:,None])**2 + np.abs(c)**2)
</code></pre>
<p>正如在其他答案中所讨论的那样,由于平方运算会产生<code>non-negative</code>个数,所以我们可以跳过<code>absolute</code>运算,得到-</p>
<pre><code>np.sqrt(b[:,None]**2 + c**2)
</code></pre>