On Mon, Nov 9, 2009 at 1:21 PM, Stefan Krah <stefan-usenet at bytereef.org> wrote: > Antoine Pitrou <solipsis at pitrou.net> wrote: >> (NB: interestingly, float("nan") does hash) > > > I wonder if it should: > >>>> d = {float('nan'): 10, 0: 20} >>>> 0 in d > True >>>> float('nan') in d > False >>>> d[float('nan')] > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > KeyError: nan That's because you're creating two different float nans. Compare with: Python 3.2a0 (py3k:76132M, Nov 6 2009, 14:47:39) [GCC 4.2.1 (SUSE Linux)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> nan = float('nan') >>> d = {nan: 10, 0: 20} >>> nan in d True >>> d[nan] 10 Mark
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4