diff options
author | Raymond Hettinger <python@rcn.com> | 2010-10-31 22:39:33 (GMT) |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2010-10-31 22:39:33 (GMT) |
commit | 4531f8dd378c53e88257651eaa503086366fac1f (patch) | |
tree | c76520c3c1e32fc6b2db58dd1f292adccee4b8e0 /Doc/glossary.rst | |
parent | c6b6b5bf5add7d4062e132f4e4622bf83ae00e8d (diff) | |
download | cpython-4531f8dd378c53e88257651eaa503086366fac1f.zip cpython-4531f8dd378c53e88257651eaa503086366fac1f.tar.gz cpython-4531f8dd378c53e88257651eaa503086366fac1f.tar.bz2 |
Issue #9886: Add a key-function entry to the glossary.
Diffstat (limited to 'Doc/glossary.rst')
-rw-r--r-- | Doc/glossary.rst | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/Doc/glossary.rst b/Doc/glossary.rst index a9df072..70a0680 100644 --- a/Doc/glossary.rst +++ b/Doc/glossary.rst @@ -283,6 +283,26 @@ Glossary instances of user-defined classes are hashable by default; they all compare unequal, and their hash value is their :func:`id`. + key function + A key function or collation function is a callable that returns a value + used for sorting or ordering. For example, :func:`locale.strxfrm` is + used to produce a sort key that is aware of locale specific sort + conventions. + + A number of tools in Python accept key functions to control how elements + are ordered or grouped. They include :func:`min`, :func:`max`, + :func:`sorted`, :meth:`list.sort`, :func:`heapq.nsmallest`, + :func:`heapq.nlargest`, and :func:`itertools.groupby`. + + There are several ways to create a key function. For example. the + :meth:`str.lower` method can serve as a key function for case insensitive + sorts. Alternatively, an ad-hoc key function can be built from a + :keyword:`lambda` expression such as ``lambda r: (r[0], r[2])``. Also, + the :mod:`operator` module provides three key function constuctors: + :func:`~operator.attrgetter`, :func:`~operator.itemgetter`, and + :func:`~operator.methodcaller`. See the :ref:`Sorting HOW TO` for + examples of how to create and use key functions. + IDLE An Integrated Development Environment for Python. IDLE is a basic editor and interpreter environment which ships with the standard distribution of |