Definition
Python have another way to create functions.
In this way, python uses lambda keyword to create a function.
Lambda function can take any number of arguments and it evaluates the expression and return the result which we can store using a variable.
Syntax
lambda arguments : expression
Example 1
x = lambda y : y * 2 print(x(5))
Output
10
Here, we have created a lambda function and give only one argument as y and the expression is y * 2.
We are storing the result to x.
We call the lambda function inside print statement by giving argument value 5 to x.
Example 2
x = lambda y,z :y * z + 2 print(x(5,10))
Output
52
Here, we created a lambda function which takes two arguments y, z, and returns the result of expression y * z + 2.
Example 3
a = lambda x,y,z : x + y * z + 2 print(a(5,10,12))
Output
127
Here, we have created a lambda function which takes three arguments and return the result after evaluation.
We are not restricted to number of arguments, we can create a lambda function which can take as much arguments as we want.
Python Function Vs Python Lambda
# multiply two numbers using lambda a = lambda x,y: x*y print(a(3,10)) # outputs 30
# multiply two numbers using function def mul(x, y): return x*y print(mul(3, 10)) # outputs 30
Lambda inside Functions
Power of lambda functions shown inside Python Functions as anonymous functions.
Example 1
# function argument is x def mul(x): # lambda argument is y return lambda y: x * y # function argument value = 5 result = mul(5) # lambda argument value = 4 print(result(4))
Output
20
Example 2
# function argument is x def mul(x): # lambda argument is y return lambda y: x * y myList = [10, 20, 30, 40, 50] for i in myList: # function argument is i i.e. myList items result = mul(i) # lambda argument is 10 print(result(10))
Output
100 200 300 400 500