Dear Python developers,

The help(list) shows in a python console the following documentation string for the list.sort() method.

sort(self, /, *, key=None, reverse=False)
 |      Sort the list in ascending order and return None.
 |
 |      The sort is in-place (i.e. the list itself is modified) and stable (i.e. the
 |      order of two equal elements is **maintained**).

Please notice the following inconsistency in Python3.10.0 and before of a sort(reverse=True) result:

>>> L = [(1, 'a'), (2, 'b'), (1, 'c'), (2, 'd'), (3, 'e')]
>>> L.sort(reverse=True)
>>> L
>>> [(3, 'e'), (2, 'd'), (2, 'b'), (1, 'c'), (1, 'a')]

it should be:

>>> L = [(1, 'a'), (2, 'b'), (1, 'c'), (2, 'd'), (3, 'e')]
>>> reverseTuplesSort(L)
[(3, 'e'), (2, 'b'), (2, 'd'), (1, 'a'), (1, 'c')]

Same inconsistency appears when using a sorting key.

Passing easily unnoticed may produce unexpected and potentially wrong ranking results.

Best Regards,
RB

--

50, Bvd G.-D. Charlotte
L-1330 Luxembourg
GD Luxembourg (Europe)
(+352) 621 175 242

_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/KQ2KWZ63YZMHOYAK7PJ322I5EFFBTLXW/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to