Proposal: min(None, x) and max(None, x) return x
Pearu Peterson
pearu at cens.ioc.ee
Fri Nov 22 11:00:41 EST 2002
On 22 Nov 2002, Andrew Koenig wrote:
> Eric> So I told myself: wouldn't it be great if max(None, x) or
> Eric> min(None, x) always simply returned x?
>
> My first thought was that this was an excellent idea.
>
> Then I thought again.
>
> Here's the problem: The notion that max(None, x) and min(None, x)
> should both return x is one of three desirable properties that cannot
> all be true at once. Here are the other two:
>
> 1) Whenever x < y, min(x, y) is x and max(x, y) is y.
>
> 2) < is an order relation over all types.
>
> The desirability of (1) should be obvious. (2) is more subtle, but
> it is necessary for it to be possible to sort a vector of heterogenously
> typed objects.
>
> Now, if max(None, x) and min(None, x) both yield x, and (1) is true,
> then x > None and x < None must both be true.
If max(None, x) and min(None,x) both yield x, then already (1) cannot be
true. For example, take x=None in (1). Then
min(None, y) is None and max(None, y) is y
But this contraticts the assumption that min(None, x) is x.
> But then (2) cannot be true.
(2) is never true. Hint: complex numbers.
Pearu
More information about the Python-list
mailing list