如果numpy.any()
返回True
与is True
比较失败,但是== True
有效。有谁知道为什么?numpy.any()返回True,但“is True”比较失败
一个最小的例子
from __future__ import print_function
import numpy
a = numpy.array([True])
if a.any() == True:
print('== works')
if a.any() is True:
print('is works')
此代码的输出仅仅是== works
。
为什么你用这个比较呢? [在这种情况下'=='是语义上正确的比较](https://stackoverflow.com/questions/132988/is-there-a-difference-between-and-is-in-python) – CoryKramer
出于同样的原因'1 == 1.0'为'True','1为1.0'为'False'。 1是一个整数,1.0是一个浮点数。具有不同的基础结构时,两件事可以是等价的。 –