How to use Lambda, filter, reduce, and map in Python Programming

Some like it, others hate it and many are afraid of the lambda operator. We are confident that you will like it, when you have finished with this chapter of our tutorial. If not, you can learn all about “List Comprehensions”, Guido van Rossums preferred way to do it, because he doesn’t like Lambda, map, filter and reduce either.

The lambda operator or lambda function is a way to create small anonymous functions, i.e. functions without a name.

These functions are throw-away functions, i.e. they are just needed where they have been created. Lambda functions are mainly used in combination with the functions filter(), map() and reduce(). The lambda feature was added to Python due to the demand from Lisp programmers.

The general syntax of a lambda function is quite simple:
lambda argument_list: expression

The argument list consists of a comma-separated list of arguments and the expression is an arithmetic expression using these arguments. You can assign the function to a variable to give it a name.

The following example of a lambda function returns the sum of its two arguments:

`f = lambda x, y: x+yf(1,1)`

The map() function

The advantage of the lambda operator can be seen when it is used in combination with the map() function.
map() is a function with two arguments:

`r = map(func, map)`

The first argument func is the name of a function and the second a sequence (e.g. a list) seq. map() applies the function func to all the elements of the sequence seq. It returns a new list with the elements changed by func

`def fahrenheit(T):    return ((9/5)*T + 32)def celsius(T):    return (5/9) * (T-32)temp = [36.5, 32, 38, 40]F = map(fahrenheit, temp)C = map(celsius, F)print (list(F))print (list(C))`

By using lambda, we wouldn’t have had to define and name the functions fahrenheit() and celsius(). You can see this in the following interactive session: