On 2011-05-29, Albert Hopkins <mar...@letterboxes.org> wrote: > On Sun, 2011-05-29 at 00:41 +0100, MRAB wrote: >> Here's a curiosity. float("nan") can occur multiple times in a set or as >> a key in a dict: >> >> >>> {float("nan"), float("nan")} >> {nan, nan} >> > These two nans are not equal (they are two different nans) > >> except that sometimes it can't: >> >> >>> nan = float("nan") >> >>> {nan, nan} >> {nan} > > This is the same nan, so it is equal to itself.
No, it's not. >>> x = float("nan") >>> y = x >>> x is y True >>> x == y False > I can't cite this in a spec, but it makes sense (to me) that two things > which are nan are not necessarily the same nan. Even if they _are_ the same nan, it's still not equal to itself. -- Grant -- http://mail.python.org/mailman/listinfo/python-list