
March 23, 2010
6:04 p.m.
On Tue, Mar 23, 2010 at 5:48 PM, Adam Olsen <rhamph@gmail.com> 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