On Tue, Mar 23, 2010 at 5:48 PM, Adam Olsen <[email protected]> wrote:
> a = Decimal('nan')
> a != a
>
> They don't follow the behaviour required for being hashable.
What's this required behaviour? The only rule I'm aware of is that if
a == b then hash(a) == hash(b). That's not violated here.
Note that containment tests check identity before equality, so there's
no problem with putting (float) nans in sets or dicts:
>>> x = float('nan')
>>> s = {x}
>>> x in s
True
Mark
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com