Lambda function can have multiple parameters but have only one expression. This one expression is evaluated and returned. Thus, We can use lambda functions as a function object. In this article, we will learn how to use if, else & elif in Lambda Functions.
Using if-else in lambda function
The lambda function will return a value for every validated input. Here, if block will be returned when the condition is true, and else block will be returned when the condition is false.
Syntax:
lambda <arguments> : <statement1> if <condition> else <statement2>
Here, the lambda function will return statement1 when if the condition is true and return statement2 when if the condition is false.
Example:
Here, We are going to find whether a number is even or odd. when we pass number 12 to lambda function it will execute statement 1 and statement2 for 11.
Python# Use if-else in Lambda Functions# check if number is even or oddresult=lambdax:f"{x} is even"ifx%2==0elsef"{x} is odd"# print for numbersprint(result(12))print(result(11))
Output12 is even11 is odd
Using if else & elif in lambda function
We can also use nested if, if-else in lambda function. Here we will create a lambda function to check if two number is equal or greater or lesser. We will implement this using the lambda function.
Syntax:
lambda <args> : <statement1> if <condition1> else ( <statement2> if <condition2> else <statement3>)
Here, statement1 will be returned when if the condition is true, statement2 will be returned when elif true, and statement3 will be returned when else is executed.
Example:
Here, we passed 2 numbers to the lambda function. and check the relation between them. That is if one number is greater or equal or lesser than another number
Python# Use if-else in Lambda Functions# check if two numbers is equal or greater or lesserresult=lambdax,y:f"{x} is smaller than{y}" \ifx<yelse(f"{x} is greater than{y}"ifx>y \elsef"{x} is equal to{y}")# print for numbersprint(result(12,11))print(result(12,12))print(result(12,13))
Output12 is greater than 1112 is equal to 1212 is smaller than 13