嗚喵王RC
[每日一坑] python math.nan是不會等於自己的,但是他可以當作dict的key

math.nan == math.nan false
float("nan") == float("nan") false
{math.nan: 1}[math.nan] 1
{float("nan"): 1}[float("nan")] KeyError
嗚喵王RC
為啥ㄋ?我猜是因為python dict在比較key的時候先比了他的id(記憶體位置),math.nan是同一個instance有相同的id於是省略比較直接當一樣,而float("nan")是兩個不同的instance,於是他呼叫了eq發現不相等
嗚喵王RC
載入新的回覆