]> granicus.if.org Git - python/commitdiff
Closes #18646: improve lambda docs in tutorial. Original patch by Terry Reedy.
authorGeorg Brandl <georg@python.org>
Sun, 6 Oct 2013 08:22:45 +0000 (10:22 +0200)
committerGeorg Brandl <georg@python.org>
Sun, 6 Oct 2013 08:22:45 +0000 (10:22 +0200)
Doc/tutorial/controlflow.rst

index 055f547241e7105f49820cd2a8e3f355e2d45ac0..56df73dc470d3c829822ae1240a0d9dbf98b711d 100644 (file)
@@ -583,17 +583,16 @@ In the same fashion, dictionaries can deliver keyword arguments with the ``**``\
 
 .. _tut-lambda:
 
-Lambda Forms
-------------
-
-By popular demand, a few features commonly found in functional programming
-languages like Lisp have been added to Python.  With the :keyword:`lambda`
-keyword, small anonymous functions can be created. Here's a function that
-returns the sum of its two arguments: ``lambda a, b: a+b``.  Lambda forms can be
-used wherever function objects are required.  They are syntactically restricted
-to a single expression.  Semantically, they are just syntactic sugar for a
-normal function definition.  Like nested function definitions, lambda forms can
-reference variables from the containing scope::
+Lambda Expressions
+------------------
+
+Small anonymous functions can be created with the :keyword:`lambda` keyword.
+This function returns the sum of its two arguments: ``lambda a, b: a+b``.
+Lambda forms can be used wherever function objects are required.  They are
+syntactically restricted to a single expression.  Semantically, they are just
+syntactic sugar for a normal function definition.  Like nested function
+definitions, lambda functions can reference variables from the containing
+scope::
 
    >>> def make_incrementor(n):
    ...     return lambda x: x + n
@@ -604,6 +603,14 @@ reference variables from the containing scope::
    >>> f(1)
    43
 
+The above example uses a lambda expression to return a function.  Another use
+is to pass a small function as an argument::
+
+   >>> pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
+   >>> pairs.sort(key=lambda pair: pair[1])
+   >>> pairs
+   [(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]
+
 
 .. _tut-docstrings: