Python lambda function if else

Python Lambda – If Else

In this tutorial, we will learn how to use if else in Lambda function, to choose a return value based on some condition.

Syntax

The syntax of a Python Lambda Function with if else is as shown in the following.

value_1 is returned if condition is true, else value_2 is returned. You can have an expression that evaluates to a value in the place of value_1 or value_2.

You can have nested if else in lambda function. Following is the syntax of Python Lambda Function with if else inside another if else, meaning nested if else.

value_1 is returned if condition_1 is true, else condition_2 is checked. value_2 is returned if condition_2 is true, else value_3 is returned.

Examples

1. Lambda function with if-else condition

In the following example program, we will write a lambda function that returns square of number if number is even, else cube of the number.

Python Program

x = lambda n: n**2 if n%2 == 0 else n**3 print(x(4)) print(x(3))

2. Lambda function with nested if-else condition

We have already mentioned that we can write a nested if else inside lambda function.

Читайте также:  Остаток от целочисленного деления javascript

In the following example program, we will write a lambda function that returns the number as is if divisible by 10, square of number if number is even, else cube of the number.

Python Program

x = lambda n: n if n%10 == 0 else ( n**2 if n%2 == 0 else n**3 ) print(x(4)) print(x(3)) print(x(10))

Summary

Summarizing this tutorial of Python Examples, we learned how to use if else or nested if else in lambda function to conditionally return values.

Источник

If, Else и Elif в лямбда-функциях в Python

Лямбда-функция Python — это функция, которая определена без имени. Вместо этого анонимные функции определяются с помощью ключевого слова lambda. В этой статье мы обсудим, как использовать if, else if и else в лямбда-функциях в Python.

Синтаксис

Лямбда-функции могут иметь любое количество параметров, но только одно выражение. Это выражение оценивается и возвращается. Таким образом, лямбда-функции можно использовать везде, где требуются функциональные объекты.

См. следующий пример функции Lambda в Python.

Использование if-else в лямбда-функции

Синтаксис if-else в лямбда-функции следующий.

Например, давайте создадим лямбда-функцию, чтобы проверить, находится ли заданное значение в диапазоне от 11 до 22.

  • 15 находится между 11 и 22, поэтому возвращается True.
  • 22 не меньше 22. Поэтому возвращается False.
  • 21 находится между 11 и 22. Таким образом, он возвращает True.

Условная лямбда-функция Python без if-else

Мы можем избежать использования ключевых слов if & else и при этом добиться тех же результатов. Например, давайте изменим созданную выше лямбда-функцию, удалив ключевые слова if-else.

Мы получили тот же результат, и вы можете видеть, что мы можем написать условия без операторов if-else.

Лямбда-функция делает то же самое, что и выше, проверяет, находится ли заданное число в диапазоне от 10 до 20. Теперь давайте используем эту функцию для проверки некоторых значений.

Источник

Python : How to use if, else & elif in Lambda Functions

In this article we will discuss how to use if , else if and else in a lambda functions in Python. Will also explain how to use conditional lambda function with filter() in python.

Using if else in Lambda function

Using if else in lambda function is little tricky, the syntax is as follows,

For example let’s create a lambda function to check if given value is between 10 to 20 i.e.

lambda x : True if (x > 10 and x < 20) else False

Here we are using if else in a lambda function, if given value is between 10 to 20 then it will return True else it will return False. Now let’s use this function to check some values i.e.

# Lambda function to check if a given vaue is from 10 to 20. test = lambda x : True if (x > 10 and x < 20) else False # Check if given numbers are in range using lambda function print(test(12)) print(test(3)) print(test(24))

Frequently Asked:

Creating conditional lambda function without if else

Well using ‘if’ ‘else’ keywords makes things easy to understand, but in lambda we can avoid using if & else keywords and still achieve same results. For example let’s modify the above created lambda function by removing if else keywords & also True False i.e.

This lambda function does the same stuff as above i..e checks if given number lies between 10 to 20. Now let’s use this function to check some values i.e.

# Lambda function to check if a given vaue is from 10 to 20. check = lambda x : x > 10 and x < 20 # Check if given numbers are in range using lambda function print(check(12)) print(check(3)) print(check(24))

Using filter() function with a conditional lambda function (with if else)

filter() function accepts a callback() function and a list of elements. It iterates over all elements in list and calls the given callback() function
on each element. If callback() returns True then it appends that element in the new list. In the end it returns a new list of filtered elements only.

# List of numbers listofNum = [1,3,33,12,34,56,11,19,21,34,15]

Now let’s use filter() function to filter numbers between 10 to 20 only by passing a conditional lambda function (with if else) to it i.e.

# Filter list of numbers by keeping numbers from 10 to 20 in the list only listofNum = list(filter(lambda x : x > 10 and x < 20, listofNum)) print('Filtered List : ', listofNum)
Filtered List : [12, 11, 19, 15]

it uses the passed lambda function to filter elements and in the end returns list of elements that lies between 10 to 20,

Using if, elif & else in a lambda function

Till now we have seen how to use if else in a lambda function but there might be cases when we need to check multiple conditions in a lambda function. Like we need to use if , else if & else in a lambda function. We can not directly use elseif in a lambda function. But we can achieve the same effect using if else & brackets i.e.

Create a lambda function that accepts a number and returns a new number based on this logic,

  • If the given value is less than 10 then return by multiplying it by 2
  • else if it’s between 10 to 20 then return multiplying it by 3
  • else returns the same un-modified value
# Lambda function with if, elif & else i.e. # If the given value is less than 10 then Multiplies it by 2 # else if it's between 10 to 20 the multiplies it by 3 # else returns the unmodified same value converter = lambda x : x*2 if x < 10 else (x*3 if x < 20 else x)

Let’s use this lambda function,

print('convert 5 to : ', converter(5)) print('convert 13 to : ', converter(13)) print('convert 23 to : ', converter(23))
convert 5 to : 10 convert 13 to : 39 convert 23 to : 23

Complete example is as follows,

def main(): print('*** Using if else in Lambda function ***') # Lambda function to check if a given vaue is from 10 to 20. test = lambda x : True if (x > 10 and x < 20) else False # Check if given numbers are in range using lambda function print(test(12)) print(test(3)) print(test(24)) print('*** Creating conditional lambda function without if else ***') # Lambda function to check if a given vaue is from 10 to 20. check = lambda x : x >10 and x < 20 # Check if given numbers are in range using lambda function print(check(12)) print(check(3)) print(check(24)) print('*** Using filter() function with a conditional lambda function (with if else) ***') # List of numbers listofNum = [1,3,33,12,34,56,11,19,21,34,15] print('Original List : ', listofNum) # Filter list of numbers by keeping numbers from 10 to 20 in the list only listofNum = list(filter(lambda x : x >10 and x < 20, listofNum)) print('Filtered List : ', listofNum) print('*** Using if, elif & else in Lambda function ***') # Lambda function with if, elif & else i.e. # If the given value is less than 10 then Multiplies it by 2 # else if it's between 10 to 20 the multiplies it by 3 # else returns the unmodified same value converter = lambda x : x*2 if x < 10 else (x*3 if x < 20 else x) print('convert 5 to : ', converter(5)) print('convert 13 to : ', converter(13)) print('convert 23 to : ', converter(23)) if __name__ == '__main__': main()
*** Using if else in Lambda function *** True False False *** Creating conditional lambda function without if else *** True False False *** Using filter() function with a conditional lambda function (with if else) *** Original List : [1, 3, 33, 12, 34, 56, 11, 19, 21, 34, 15] Filtered List : [12, 11, 19, 15] *** Using if, elif & else in Lambda function *** convert 5 to : 10 convert 13 to : 39 convert 23 to : 23

Share your love

Leave a Comment Cancel Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Terms of Use

Disclaimer

Copyright © 2023 thisPointer

To provide the best experiences, we and our partners use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us and our partners to process personal data such as browsing behavior or unique IDs on this site and show (non-) personalized ads. Not consenting or withdrawing consent, may adversely affect certain features and functions.

Click below to consent to the above or make granular choices. Your choices will be applied to this site only. You can change your settings at any time, including withdrawing your consent, by using the toggles on the Cookie Policy, or by clicking on the manage consent button at the bottom of the screen.

The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.

The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.

The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.

The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.

Источник

Оцените статью