Introduction
The lambda keyword creates a small anonymous function or procedure.
It creates a function object the same way that the def keyword does, but with the following rules:
- 1. The lambda construct does not have a return statement.
- 2. The body can contain only a single expression.
- 3. The expression may yield a value.
- 4. The expression may be a conditional statement which returns a value.
Lambda may also be used to create anonymous procedures for use in GUI callbacks.
Lambda Examples
Here is a simple example of a lambda function.
- g = lambda x: x**2
- print g(8)
The result is: 64
Here is an example using two arguments:
- g=lambda x,y: x+y
- print g(2,3)
The result is: 5
A lambda function may be used inside a regular function.
- def transform(n):
- return lambda x: x + n
- f = transform(3)
- print f(4)
The result is: 7
Map function
A lambda function may be used with a map function to process a sequence of values.
- g = lambda x: x**2
- temp=(1, 2, 3, 4)
- f = map(g, temp)
- print f
The result is: [1, 4, 9, 16]
Reduce function
The function reduce(func, seq) continually applies the function func() to the sequence seq. It returns a single value.
The following sum a list of numbers.
- reduce(lambda x,y: x+y, [47,11,42,13])
Result: 113
These statements find the maximum in a list.
- f = lambda a,b: a if (a > b) else b
- reduce(f, [47,11,42,102,13])
Result: 102
Calculate the sum of the numbers from 1 to 100:
- reduce(lambda x, y: x+y, range(1,101))
Result: 5050
* * *
Tom Irvine