This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author tim.peters
Recipients Tomas Dabašinskas, tim.peters
Date 2017-03-08.06:07:52
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1488953273.71.0.984269039016.issue29754@psf.upfronthosting.co.za>
In-reply-to
Content
Your last line can't possibly return True, because `somelist.reverse()` returns None.

So the last line is irrelevant.  Your complaint appears to be about the line before, which shows that the list retains its original order.

That's expected.  All the keys are equal, so a stable sort _must_ retain the original order (that's what "stable" means).  So that's not a bug - it's a feature.

The idea that `x.sort(reverse=True)` must do the same as `x.sort(); x.reverse()` is something you made up in your head ;-)  That is, the docs don't say that.  What they do say:

"""
reverse is a boolean value. If set to True, then the list elements are sorted as if each comparison were reversed.
"""

That has no effect on keys that compare equal.  It means that keys that compare "less than" are treated as if they had compared "greater than" instead, and vice versa.

While it may not be immediately obvious, what `x.sort(reverse=True)` is actually equivalent to is the sequence:

x.reverse()
x.sort()
x.reverse()
History
Date User Action Args
2017-03-08 06:07:53tim.peterssetrecipients: + tim.peters, Tomas Dabašinskas
2017-03-08 06:07:53tim.peterssetmessageid: <1488953273.71.0.984269039016.issue29754@psf.upfronthosting.co.za>
2017-03-08 06:07:53tim.peterslinkissue29754 messages
2017-03-08 06:07:52tim.peterscreate