Python lambda Keyword



The Python lambda keyword is used to create lambda function, which is similar to user-defined function but without a function name. It is a case-sensitive keyword. To create a lambda function, it does not need def and return keyword.

The lambda function can take n number of arguments. This functions are effective to create a function that will only contain simple expressions and usually have a single line of statement.

Syntax

Following is the syntax of the Python lambda keyword −

lambda arguments :expression

Example

Following is a basic example of the Python lambda keyword −

power = lambda a : a**2
result_1 = power(9)
print("The result of lambda function :",result_1)

Output

Following is the output of the above code −

The result of lambda function : 81

Using 'lambda' keyword with Multiple Arguments

The lambda function can accept more than one arguments.

Example

Here, we have created a lambda function which accepts accepts two arguments. In the function, we have performed the division operations −

div = lambda a,b : a//b
result_1 = div(8,2)
result_2 = div(7,9)
print("The result of lambda function :",result_1)
print("The result of lambda function :",result_2)

Output

Following is the output of the above code −

The result of lambda function : 4
The result of lambda function : 0

Difference between lambda and def function

The lambda function and def function both executes similarly but the only difference is lambda function doesn't need def and return keyword and it is only used for simple expression and anonymous(unnamed) function.

Example

Here, we have defined lambda and def functions with same functionality which returns a square-root of a given number. The both the functions returned the same value −

#defined function
def sqrt(num):
    return num**0.5    
n = 81
#defined lambda function
sqrt1 = lambda a : a**0.5
result_1 = sqrt(n)
result_2 = sqrt1(n)
print("The result of a  def function :",result_1)
print("The result of a lambda function :",result_2)

Output

Following is the output of the above code −

The result of a  def function : 9.0
The result of a lambda function : 9.0

Using lambda with filter() function

In Python, the lambda can be used along with filter() function. The filter() function accepts a lambda function and iterable(tuple, list).

Example

Here, is an example of lambda with filter()

list1 = [140, 27, 58, 89, 94, 100]      
even_list = list(filter( lambda num: (num % 2 == 0) , list1 ))      
print('The list of even number is:',even_list)

Output

Following is the output of the above code −

The list of even number is: [140, 58, 94, 100] 

Using 'lambda' with map()

A lambda function and iterable is passed inside the map(). The function is executed for all of the elements within the list, and a new list is produced with elements generated by the given function for every item.

Example

Following is an example of lambda function with map()

numbers_list = (2, 3, 4, 5, 6, 7)      
cube_list = tuple(map( lambda num: num ** 3 , numbers_list ))      
print( 'Cube of each number in the given list:' ,cube_list )

Output

Following is the output of the above code −

Cube of each number in the given list: (8, 27, 64, 125, 216, 343)
python_keywords.htm
Advertisements