Tal*_*ia 1 python import numpy
我有奇怪的问题。我有以下代码
if Group[NN1,8] != 'nan' :
print("Group[NN1,8]",Group[NN1,8])
Run Code Online (Sandbox Code Playgroud)
Group[NN1,8] 的值为 nan,因此我希望打印命令不会执行。但是用我的代码执行。结果是
`('Group[NN1,8]', nan)`.
Run Code Online (Sandbox Code Playgroud)
这不必打印。有什么不对的吗?
看起来您正在比较浮点数和字符串,它们永远不相等。
>>> float('nan')
nan
>>> 'nan'
'nan'
>>> float('nan') == 'nan'
False
Run Code Online (Sandbox Code Playgroud)
在 的特殊情况下nan,它甚至不等于“本身”:
>>> x = float('nan')
>>> x == x
False
Run Code Online (Sandbox Code Playgroud)
您可以改用它:
>>> import math
>>> math.isnan(x)
True
Run Code Online (Sandbox Code Playgroud)