On 2011-05-29, Wolfgang Rohdewald <wolfg...@rohdewald.de> wrote: > On Sonntag 29 Mai 2011, Tim Delaney wrote: >> There's a second part the mystery - sets and dictionaries (and >> I think lists) assume that identify implies equality (hence >> the second result). This was recently discussed on >> python-dev, and the decision was to leave things as-is. > > On Sonntag 29 Mai 2011, Grant Edwards wrote: >> Even if they are the same nan, it's still not equal to itself. > > if I understand this thread correctly, they are not equal to itself > as specified by IEEE
And Python follows that convention. > but Python treats them equal in sets and dictionaries for performance > reasons It treats them as identical (not sure if that's the right word). The implementation is checking for ( A is B or A == B ). Presumably, the assumpting being that all objects are equal to themselves. That assumption is not true for NaN objects, so the buggy behavior is observed. -- Grant -- http://mail.python.org/mailman/listinfo/python-list