NaN как ключ в словарях

Кто-нибудь может объяснить мне следующее поведение?

>>> import numpy as np
>>> {np.nan: 5}[np.nan]
5
>>> {float64(np.nan): 5}[float64(np.nan)]
KeyError: nan

Почему это работает в первом случае, а во втором - нет? Вдобавок я обнаружил, что следующее ДЕЙСТВИТЕЛЬНО работает:

>>> a ={a: 5}[a]
float64(np.nan)
19
задан hamogu 22 June 2011 в 14:47
поделиться