[Python-ideas] Disallow orderring comparison to NaN
Mike Graham
mikegraham at gmail.com
Thu Apr 28 19:26:38 CEST 2011
On Thu, Apr 28, 2011 at 12:00 PM, Steven D'Aprano <steve at pearwood.info> wrote:
> Mike Graham wrote:
>>
>> On Thu, Apr 28, 2011 at 10:01 AM, Steven D'Aprano <steve at pearwood.info>
>> wrote:
>>>
>>> I think I would like to see a demonstration of this rather than just take
>>> your word for it.
>>
>> One demonstration would be
>
> [snip]
>
> Thank you.
>
> Nevertheless, that does appear to be an easy fix:
>
>
> def bubble_sort(xs):
> while True:
> changed = False
> for i in range(len(xs) - 1):
> # don't use `not (xs[i] < xs[i + 1])` as that fails in the
> # presence of NANs
> if xs[i] >= xs[i + 1]:
> changed = True
> xs[i], xs[i + 1] = xs[i + 1], xs[i]
> if not changed:
> break
>
> --
> Steven
Note this actually isn't an improvement--it merely takes a noticeable
error and turns it into a data-polluter. (Sorting a sequence
containing NaNs is obviously not a valid operation, which is the
argument for OP's suggestion.)
MG
More information about the Python-ideas
mailing list