Reading about Python? Actually practice it. Try PyChallenge free

Python Tutorial

Python lambda

Python hosting: PythonAnywhere — host, run and code Python in the cloud. Free tier available.

We can create anonymous functions, known as lambda functions. Lambda functions are different from normal Python functions, they origin from Lambda Calculus. It allows you to write very short functions.

Related Courses:


Lambda function example This code shows the use of a lambda function:

#!/usr/bin/env python

f = lambda x : 2 * x print f(3)

A return statements is never used in a lambda function, it always returns something. A lambda functions may contain if statements:

#!/usr/bin/env python

f = lambda x: x > 10 print(f(2)) print(f(12))

map function

The definition of map is map(function,iterable). It applies a function to every item in the iteratable.  We can use map() to on a lambda function with a list:
#!/usr/bin/env python

list = [1,2,3,4,5] squaredList = map(lambda x: x*x, list) print(squaredList)

Anywhere you use lambda functions, you could use normal functions instead.  A lambda function is not a statement, it is an expression. Lambda functions do not support a block of statements.

filter function

filter(function,iterable) creates a new list from the elmeents for which the function returns True. Example:

#!/usr/bin/env python

list = [1,2,3,4,5,6,7,8,9,10] newList = filter(lambda x: x % 2 == 0, list) print(newList)

The returning list returns contains only the elements for which the lambda expression "lamba x: x % 2 == 0"  is true.

reduce function

The reduce function, reduce(function, iterable) applies two arguments cumulatively to the items of iterable, from left to right. Example:

#!/usr/bin/env python

list = [1,2,3,4,5] s = reduce(lambda x,y: x+y, list) print(s)

In this case the expression is always true, thus it simply sums up the elements of the list. Another example:

#!/usr/bin/env python

list = [10,6,7,5,2,1,8,5] s = reduce(lambda x,y: x if (x > y) else y, list) print(s)

 

BackNext

Practice
Stop reading. Start writing Python.
PyChallenge gives you interactive exercises in your browser — no install needed.
Practice Python with interactive exercises