[Python-Dev] Why is nan != nan? (original) (raw)
Alexander Belopolsky alexander.belopolsky at gmail.com
Wed Mar 24 23:43:03 CET 2010
- Previous message: [Python-Dev] Why is nan != nan?
- Next message: [Python-Dev] Why is nan != nan?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Not to mention the following aberrations:
{x for x in [float('nan')] * 10} {nan} {float(x) for x in ['nan'] * 10} {nan, nan, nan, nan, nan, nan, nan, nan, nan, nan}
{float('nan')} | {float('nan')} {nan, nan} {float('nan')} & {float('nan')} set()
On Wed, Mar 24, 2010 at 6:36 PM, Alexander Belopolsky <alexander.belopolsky at gmail.com> wrote:
On Wed, Mar 24, 2010 at 6:31 PM, Mark Dickinson <dickinsm at gmail.com> wrote: ..
Neither is necessary, because Python doesn't actually use == as the equivalence relation for containment testing: the actual equivalence relation is: x equivalent to y iff id(x) == id(y) or x == y. This restores the missing reflexivity (besides being a useful optimization). No, it does not:
float('nan') in [float('nan')] False It would if NaNs were always interned, but they are not.
- Previous message: [Python-Dev] Why is nan != nan?
- Next message: [Python-Dev] Why is nan != nan?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]