如果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是一個浮點數。具有不同的基礎結構時,兩件事可以是等價的。 –