[Python-checkins] r86073 - python/branches/py3k/Doc/glossary.rst

raymond.hettinger python-checkins at python.org
Sun Oct 31 23:36:07 CET 2010


Author: raymond.hettinger
Date: Sun Oct 31 23:36:06 2010
New Revision: 86073

Log:
Issue #9886: Add a key-function entry to the glossary.

Modified:
   python/branches/py3k/Doc/glossary.rst

Modified: python/branches/py3k/Doc/glossary.rst
==============================================================================
--- python/branches/py3k/Doc/glossary.rst	(original)
+++ python/branches/py3k/Doc/glossary.rst	Sun Oct 31 23:36:06 2010
@@ -288,6 +288,26 @@
       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


More information about the Python-checkins mailing list