When is min(a, b) != min(b, a)?

Albert Hopkins marduk at python.invalid
Mon Jan 21 04:15:02 CET 2008

This issue may have been referred to in 
news:<mailman.1864.1196703799.13605.python-list at python.org> but I didn't 
entirely understand the explanation.  Basically I have this:

    >>> a = float(6)
    >>> b = float('nan')
    >>> min(a, b)
    >>> min(b, a)
    >>> max(a, b)
    >>> max(b, a)

Before I did not know what to expect, but I certainly didn't expect 
this.  So my question is what is the min/max of a number and NaN or is it 
not defined (for which I would have expected either an exception to be 
raised or NaN returned in each case).

As a corrollary would I be able to rely on the above behavior or is it 
subject to change (to fix a bug in min/max perhaps :-)?

More information about the Python-list mailing list