0% found this document useful (0 votes)
176 views

Ternary Operator in Python

The document discusses the ternary operator in Python. The ternary operator allows evaluating an expression based on a condition in a single line. It has the syntax [on_true] if [expression] else [on_false]. The ternary operator was added to Python in version 2.5 and provides a more compact alternative to multiline if-else statements. Examples are given demonstrating different uses of the ternary operator.

Uploaded by

dhaneesh22
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
176 views

Ternary Operator in Python

The document discusses the ternary operator in Python. The ternary operator allows evaluating an expression based on a condition in a single line. It has the syntax [on_true] if [expression] else [on_false]. The ternary operator was added to Python in version 2.5 and provides a more compact alternative to multiline if-else statements. Examples are given demonstrating different uses of the ternary operator.

Uploaded by

dhaneesh22
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

8/18/2020 Ternary Operator in Python - GeeksforGeeks

Ternary Operator in Python


Last Updated: 24-04-2020

Ternary operators also known as conditional expressions are operators that evaluate
something based on a condition being true or false. It was added to Python in version 2.5.
It simply allows to test a condition in a single line replacing the multiline if-else making the
code compact.

Syntax :

[on_true] if [expression] else [on_false]

1. Simple Method to use ternary operator:

# Program to demonstrate conditional operator


a, b = 10, 20

# Copy value of a in min if a < b else copy b


min = a if a < b else b

print(min)

Output:
10

2. Direct Method by using tuples, Dictionary and lambda

# Python program to demonstrate ternary operator


a, b = 10, 20

# Use tuple for selecting an item


# (if_test_false,if_test_true)[test]
print( (b, a) [a < b] )

# Use Dictionary for selecting an item


print({True: a, False: b} [a < b])

# lamda is more efficient than above two methods


# because in lambda we are assure that
# only one expression will be evaluated unlike in
# tuple and Dictionary
print((lambda: b, lambda: a)[a < b]())

We use cookies to ensure you have the best browsing experience on our website. By using our
Output: Got It !
site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
10
https://www.geeksforgeeks.org/ternary-operator-in-python/?ref=lbp 1/6
8/18/2020 Ternary Operator in Python - GeeksforGeeks

10
10

3. Ternary operator can be written as nested if-else:

# Python program to demonstrate nested ternary operator


a, b = 10, 20

print ("Both a and b are equal" if a == b else "a is greater than b"
if a > b else "b is greater than a")

Above approach can be written as:

# Python program to demonstrate nested ternary operator


a, b = 10, 20

if a != b:
if a > b:
print("a is greater than b")
else:
print("b is greater than a")
else:
print("Both a and b are equal")

Output: b is greater than a

Important Points:

First the given condition is evaluated (a < b), then either a or b is returned based on the
Boolean value returned by the condition
Order of the arguments in the operator is different from other languages like C/C++
(See C/C++ ternary operators).
Conditional expressions have the lowest priority amongst all Python operations.

Method used prior to 2.5 when ternary operator was not present
In an expression like the one given below , the interpreter checks for the expression if this is
true then on_true is evaluated, else the on_false is evaluated.

We use cookies to ensure you have the best browsing experience on our website. By using our
Got It !
site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy

https://www.geeksforgeeks.org/ternary-operator-in-python/?ref=lbp 2/6
8/18/2020 Ternary Operator in Python - GeeksforGeeks

Syntax :

'''When condition becomes true, expression [on_false]


is not executed and value of "True and [on_true]"
is returned. Else value of "False or [on_false]"
is returned.
Note that "True and x" is equal to x.
And "False or x" is equal to x. '''
[expression] and [on_true] or [on_false]

Example :

# Program to demonstrate conditional operator


a, b = 10, 20

# If a is less than b, then a is assigned


# else b is assigned (Note : it doesn't
# work if a is 0.
min = a < b and a or b

print(min)

Output:
10

Note : The only drawback of this method is that on_true must not be zero or False. If this
happens on_false will be evaluated always. The reason for that is if expression is true, the
interpreter will check for the on_true, if that will be zero or false, that will force the interpreter
to check for on_false to give the nal result of whole expression.
We use cookies to ensure you have the best browsing experience on our website. By using our
Got It !
site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy

https://www.geeksforgeeks.org/ternary-operator-in-python/?ref=lbp 3/6
8/18/2020 Ternary Operator in Python - GeeksforGeeks

This article is contributed by Mayank Rawat and improved by Shubham Bansal. If you like
GeeksforGeeks and would like to contribute, you can also write an article using
contribute.geeksforgeeks.org or mail your article to [email protected]. See
your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you nd anything incorrect, or you want to share more information
about the topic discussed above.

Ad

Recommended Posts:
Bene ts of Double Division Operator over Single Division Operator in Python
Operator Overloading in Python
Python | Operator.countOf
What is a modulo operator (%) in Python?
Operator Functions in Python | Set 2
Operator Functions in Python | Set 1
Difference between == and is operator in Python
Walrus Operator in Python 3.8
Python | List comprehension vs * operator
Concatenate two strings using Operator Overloading in Python
Check if a value exists in a DataFrame using in & not in operator in Python-Pandas
Division without using '/' operator
Operator Overloading in C++
New '=' Operator in Python3.8 f-string
Addition of two
We use cookies number
to ensure using
you have the'-' operator
best browsing experience on our website. By using our
Got It !
site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Implement *, - and / operations using only + arithmetic operator
https://www.geeksforgeeks.org/ternary-operator-in-python/?ref=lbp 4/6
8/18/2020 Ternary Operator in Python - GeeksforGeeks

Find the remainder when N is divided by 4 using Bitwise AND operator


C program to check if a given year is leap year using Conditional operator
Reusable piece of python functionality for wrapping arbitrary blocks of code : Python
Context Managers
Python - Read blob object in python using wand library

Improved By : nsuman35

Article Tags : Python School Programming


18

2.1
To-do Done
Based on 32 vote(s)

Feedback/ Suggest Improvement Improve Article

Please write to us at [email protected] to report any issue with the above content.

Writing code in comment? Please use ide.geeksforgeeks.org, generate link and share the link here.

Load Comments

5th Floor, A-118,


 Sector-136, Noida, Uttar Pradesh - 201305
[email protected]

Company Learn
We use cookies to ensure you have the best browsing experience on our website. By using our
Got It !
About
site, you acknowledge that youUs
have read and understood our Cookie Policy & PrivacyAlgorithms
Policy

https://www.geeksforgeeks.org/ternary-operator-in-python/?ref=lbp 5/6
8/18/2020 Ternary Operator in Python - GeeksforGeeks

Careers Data Structures


Privacy Policy Languages
Contact Us CS Subjects
Video Tutorials

Practice Contribute
Courses Write an Article
Company-wise Write Interview Experience

Topic-wise Internships
How to begin? Videos

@geeksforgeeks , Some rights reserved

We use cookies to ensure you have the best browsing experience on our website. By using our
Got It !
site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy

https://www.geeksforgeeks.org/ternary-operator-in-python/?ref=lbp 6/6

You might also like