[Python-Dev] python 3 niggle: None < 1 raises TypeError
tim.peters at gmail.com
Tue Feb 18 06:29:13 CET 2014
>> Guido wanted to drop all the "arbitrary but consistent" mixed-type
>> comparison crud for Python 3.
> Nobody is asking for a return to the arbitrary-but-
> [in]consistent mess of Python 2, only to bring
> back *one* special case, i.e. None comparing less
> than everything else.
Of course. My point was that dropping None comparisons wasn't
specifically aimed at None comparisons.
> I think there is a reasonable argument to be made
> in favour of that.
There may have been 6 years ago, but Python 3 isn't a thought
experiment anymore. It was first released over 5 years ago, and has
its own compatibility (with Python 3, not Python 2) constraints now.
> Like it or not, None does have
> a special place in Python as the one obvious way
> to represent a null or missing value, and often
> one wants to sort a collection of objects having
> keys that can take on null values.
Perhaps that's often true of your code, but it's never been true of mine.
> Refusing to make that easy seems like allowing purity to beat
Since I've never had a need for it, I can't say for sure whether or
not it's easy - but the .sort() interface is rich enough that I almost
always find even truly complex key transformations "easy enough".
Perhaps a real, concrete use case would help. I have a hard time
imagining why I'd _want_ to sort a list of objects with "null or
missing" keys, instead of filtering such garbage out of the list first
and sorting what remains.
But even with a compelling use case, I'd still think it's years too
late to change this in Python 3.
More information about the Python-Dev