Python 3.0 - is this true?

Steven D'Aprano steve at
Sun Nov 9 06:08:45 CET 2008

On Sat, 08 Nov 2008 19:06:14 -0800, walterbyrd wrote:

> On Nov 8, 7:44 pm, Steven D'Aprano <st... at REMOVE-THIS-
>> wrote:
>> Define your own ordering if you need to sort incomparable types.
> If you starting new, I suppose you can always work around this new
> enhancement. But, couldn't this cause a lot of  backward compatibility
> issues?

Which is why the change has only been introduced into Python 3, and not 
Python 2.x.

> Also, I thought that part of the python philosophy was to allow any sort
> of object in a list, and to allow the same methods to work with whatever
> was in list.

You wouldn't expect this to work would you?

sum( [1, 2, None, "a string", {'x': 5}, []] )

You can only sum objects which are compatible. You can only sort objects 
which define an order: you can't sort lists containing complex numbers 
because "greater than" and "less than" aren't defined for complex 
numbers, and in Python 3 you will no longer be able to order mixed 
objects unless they are intrinsically comparable (e.g. floats and ints), 
unless you define your own order. 


More information about the Python-list mailing list