[Python-checkins] sorting howto: Add clarification on < using __lt__ (#92010)
JelleZijlstra
webhook-mailer at python.org
Fri Apr 29 18:08:21 EDT 2022
https://github.com/python/cpython/commit/53ca774497fde7c5fcf3a84813ea42f95f75c639
commit: 53ca774497fde7c5fcf3a84813ea42f95f75c639
branch: main
author: slateny <46876382+slateny at users.noreply.github.com>
committer: JelleZijlstra <jelle.zijlstra at gmail.com>
date: 2022-04-29T16:08:07-06:00
summary:
sorting howto: Add clarification on < using __lt__ (#92010)
files:
M Doc/howto/sorting.rst
diff --git a/Doc/howto/sorting.rst b/Doc/howto/sorting.rst
index 37328c82dff27..32b47711f8570 100644
--- a/Doc/howto/sorting.rst
+++ b/Doc/howto/sorting.rst
@@ -325,7 +325,7 @@ Odd and Ends
>>> standard_way
[('red', 1), ('red', 2), ('blue', 1), ('blue', 2)]
-* The sort routines are guaranteed to use :meth:`__lt__` when making comparisons
+* The sort routines use ``<`` when making comparisons
between two objects. So, it is easy to add a standard sort order to a class by
defining an :meth:`__lt__` method:
@@ -335,6 +335,9 @@ Odd and Ends
>>> sorted(student_objects)
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
+ However, note that ``<`` can fall back to using :meth:`__gt__` if
+ :meth:`__lt__` is not implemented (see :func:`object.__lt__`).
+
* Key functions need not depend directly on the objects being sorted. A key
function can also access external resources. For instance, if the student grades
are stored in a dictionary, they can be used to sort a separate list of student
More information about the Python-checkins
mailing list