a.index(float('nan')) fails
Terry Reedy
tjreedy at udel.edu
Thu Oct 25 22:04:52 EDT 2012
More information about the Python-list mailing list
Thu Oct 25 22:04:52 EDT 2012
- Previous message (by thread): a.index(float('nan')) fails
- Next message (by thread): a.index(float('nan')) fails
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 10/25/2012 9:46 PM, mamboknave at gmail.com wrote: >>>> a = [float('nan'), 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>>> a > [nan, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>>> a.index(float('nan')) > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > ValueError: list.index(x): x not in list > > That means, the function .index() cannot detect nan values. > It happens on both Python 2.6 and Python 3.1 > > Is this a bug? Or I am not using .index() correctly? It is a consequence of the following, which some people (but not all) believe is mandated by the IEEE standard. >>> nan = float('nan') >>> nan is nan True >>> nan == nan False >>> nanlist = [nan] >>> nan in nanlist True >>> nanlist.index(nan) 0 Containment of nan in collection is tested by is, not ==. >>> nan2 = float('nan') >>> nan2 is nan False >>> nan2 == nan False >>> nan2 in nanlist False -- Terry Jan Reedy
- Previous message (by thread): a.index(float('nan')) fails
- Next message (by thread): a.index(float('nan')) fails
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list