Python – Lambda Function
In Python, a lambda function is sometimes known as an anonymous function since it has no name. An anonymous function is declared using the lambda keyword rather than the def keyword.
Create lambda Function
The Python – Lambda Function is defined by using the lambda keyword, followed by the name of the parameter(s) and a single statement. A lambda function can contain a lot of parameters, but only one statement.
Syntax
#Defining lambda lambda parameters: statement
Example:
A lambda function is defined in the example below, which accepts two parameters and returns the product of the provided arguments.
x = lambda a, b : a * b print(x(3, 4))
The output of the above code will be:
12
Use of Lambda function
The flexibility of utilising the same function for multiple contexts is provided by the Lambda function’s ability to be utilised anonymously inside another function.
Example:
The lambda function is used in the example below to transform a user-defined ‘area’ function to compute the area of a circle, square, and rectangle.
def area(n): return lambda a, b=1 : n * a * (b if b != 1 else a) circle_area = area(22/7) square_area = area(1) rectangle_area = area(1) print(circle_area(2)) print(square_area(2)) print(rectangle_area(2, 3))
The output of the above code will be:
12.571428571428571 4 6
Lambda function with built-in function
Python has a number of built-in functions that take a function as an argument. In such circumstances, a lambda function can be used instead of defining a function, as long as it only has one statement. Map, reduce, and filter are a few examples of built-in functions.
Example: Lambda function with the map function
MyList = [1, 2, 3, 4, 5] #Creating a map function using lambda function #which returns square of each element NewList = list(map(lambda i: i*i, MyList)) print(NewList)
The output of the above code will be:
[1, 4, 9, 16, 25]
Example: Lambda function with filter function
#Removing all elements from range(1,21) #which are multiples of 2 or 3 NewList = list(filter(lambda i: (i%2!=0) and (i%3!=0), range(1,21))) print(NewList)
The output of the above code will be:
[1, 5, 7, 11, 13, 17, 19]
Example: Lambda function with reduce function
Reduce function must be imported from the functools module in order to work..
#lambda function is used to find out max element of a set from functools import reduce MySet = {10, 20, 30, 40, 50, 60} max_num = reduce(lambda a, b: a if a > b else b, MySet) print(max_num)
The output of the above code will be:
60