擅长:python、mysql、java
<p>您可以根据比较的结果调用<code>any</code>:<code>if np.any(a+b != c):</code>或等效的<code>if np.all(a+b == c):</code>。<code>a+b != c</code>创建一个由<code>dtype=bool</code>组成的数组,然后<code>any</code>查看该数组中是否有成员是<code>True</code>。</p>
<pre><code>>>> import numpy as np
>>> a = np.array([1,2,3])
>>> b = np.array([4,5,2])
>>> c = a+b
>>> c
array([5, 7, 5]) # <---- numeric, so any/all not useful
>>> a+b == c
array([ True, True, True], dtype=bool) # <---- BOOLEAN result, not numeric
>>> all(a+b == c)
True
</code></pre>
<p>尽管如此,尽管如此,<a href="https://stackoverflow.com/questions/7100995/testing-if-all-values-in-a-numpy-array-are-equal/7101026#7101026">Amber's solution</a>可能更快,因为它不必创建整个布尔结果数组。</p>