Commit 74824584 authored by Tim Peters's avatar Tim Peters

Added new footnote about list.sort() stability. Repaired footnote about

using sort() with comparison functions (it made reference to the non-
existent "builtin-in function sort()").

BTW, I changed list.sort's docstring to contain the word "stable" -- the
easiest way to tell whether a particular Python version's sort *is* stable
is to look for "stable" in the docstring.  I'm not sure whether to
advertise this <wink>.
parent f47630ff
...@@ -901,7 +901,7 @@ The following operations are defined on mutable sequence types (where ...@@ -901,7 +901,7 @@ The following operations are defined on mutable sequence types (where
\lineiii{\var{s}.reverse()} \lineiii{\var{s}.reverse()}
{reverses the items of \var{s} in place}{(6)} {reverses the items of \var{s} in place}{(6)}
\lineiii{\var{s}.sort(\optional{\var{cmpfunc}})} \lineiii{\var{s}.sort(\optional{\var{cmpfunc}})}
{sort the items of \var{s} in place}{(6), (7)} {sort the items of \var{s} in place}{(6), (7), (8)}
\end{tableiii} \end{tableiii}
\indexiv{operations on}{mutable}{sequence}{types} \indexiv{operations on}{mutable}{sequence}{types}
\indexiii{operations on}{sequence}{types} \indexiii{operations on}{sequence}{types}
...@@ -947,10 +947,18 @@ Notes: ...@@ -947,10 +947,18 @@ Notes:
the first argument is considered smaller than, equal to, or larger the first argument is considered smaller than, equal to, or larger
than the second argument. Note that this slows the sorting process than the second argument. Note that this slows the sorting process
down considerably; e.g. to sort a list in reverse order it is much down considerably; e.g. to sort a list in reverse order it is much
faster to use calls to the methods \method{sort()} and faster to call method \method{sort()} followed by
\method{reverse()} than to use the built-in function \method{reverse()} than to use method
\function{sort()} with a comparison function that reverses the \method{sort()} with a comparison function that reverses the
ordering of the elements. ordering of the elements.
\item[(8)] Whether the \method{sort()} method is stable is not defined by
the language (a sort is stable if it guarantees not to change the
relative order of elements that compare equal). In the C
implementation of Python, sorts were stable only by accident through
Python 2.2. The C implementation of Python 2.3 introduced a stable
\method{sort()} method, but code that intends to be portable across
implementations and versions must not rely on stability.
\end{description} \end{description}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment