因此,我在代码中找到了一个错误,可以复制以下内容。基本上我需要检查中的所有元素np.ndarray是否都不为0。
>>> a = np.ones((3,3))
>>> np.all(a == 0) == False
True
Run Code Online (Sandbox Code Playgroud)
好的,里面的所有值a都不为零。我知道我还可以做的np.all((a == 0) == False),而不是明确要求进行比较,以0,但我并没有在第一,这让我意识到有比较时的差异is,以==在False情况。
>>> np.all(a == 0) is False
False
Run Code Online (Sandbox Code Playgroud)
我知道is应该比较如果对象指向相同的对象。但这是否意味着我返回的两个值False实际上并不指向相同的值False?我可能只是在想这个...
返回类型numpy.bool_不是bool:
In [11]: type(np.all(a == 0))
Out[11]: numpy.bool_
In [12]: type(False)
Out[12]: bool
Run Code Online (Sandbox Code Playgroud)
该is检查断言两个对象指向同一个对象。