mirror of https://github.com/python/cpython
#22237: document that sorted() is guaranteed to be stable. Initial patch by Martin Panter.
This commit is contained in:
parent
16e7f97bcb
commit
9b1e92f5a1
|
@ -1286,6 +1286,11 @@ are always available. They are listed here in alphabetical order.
|
||||||
Use :func:`functools.cmp_to_key` to convert an old-style *cmp* function to a
|
Use :func:`functools.cmp_to_key` to convert an old-style *cmp* function to a
|
||||||
*key* function.
|
*key* function.
|
||||||
|
|
||||||
|
The built-in :func:`sorted` function is guaranteed to be stable. A sort is
|
||||||
|
stable if it guarantees not to change the relative order of elements that
|
||||||
|
compare equal --- this is helpful for sorting in multiple passes (for
|
||||||
|
example, sort by department, then by salary grade).
|
||||||
|
|
||||||
For sorting examples and a brief sorting tutorial, see `Sorting HowTo
|
For sorting examples and a brief sorting tutorial, see `Sorting HowTo
|
||||||
<http://wiki.python.org/moin/HowTo/Sorting/>`_\.
|
<http://wiki.python.org/moin/HowTo/Sorting/>`_\.
|
||||||
|
|
||||||
|
|
|
@ -123,7 +123,6 @@ pushing all values onto a heap and then popping off the smallest values one at a
|
||||||
time::
|
time::
|
||||||
|
|
||||||
>>> def heapsort(iterable):
|
>>> def heapsort(iterable):
|
||||||
... 'Equivalent to sorted(iterable)'
|
|
||||||
... h = []
|
... h = []
|
||||||
... for value in iterable:
|
... for value in iterable:
|
||||||
... heappush(h, value)
|
... heappush(h, value)
|
||||||
|
@ -132,6 +131,9 @@ time::
|
||||||
>>> heapsort([1, 3, 5, 7, 9, 2, 4, 6, 8, 0])
|
>>> heapsort([1, 3, 5, 7, 9, 2, 4, 6, 8, 0])
|
||||||
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
|
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
|
||||||
|
|
||||||
|
This is similar to ``sorted(iterable)``, but unlike :func:`sorted`, this
|
||||||
|
implementation is not stable.
|
||||||
|
|
||||||
Heap elements can be tuples. This is useful for assigning comparison values
|
Heap elements can be tuples. This is useful for assigning comparison values
|
||||||
(such as task priorities) alongside the main record being tracked::
|
(such as task priorities) alongside the main record being tracked::
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue