Does Python have a ternary conditional operator like java?

+1 vote
asked Jul 31, 2017 by Hitesh Garg (799 points)  

Ternary syntax (expr ? val1 : val2) like other languages is not supported in python because it gives errors when I used it.
Is there any ternary equivalent in python in which value to a variable can be assigned based on true/false of a codition.

1 Answer

+1 vote
answered Aug 10, 2017 by Rahul Singh (682 points)  
selected Aug 10, 2017 by Hitesh Garg
Best answer

Yes there is one but you are facing the difficulty because the sytax is not similar to other languages like C, Java etc. and this is the reason the syntax mentioned below is not liked by many programmers.

So it goes like this

# Syntax
# val1 if expr else val2

>>> y = 1
>>> x = 1 if y==2 else 2
>>> print(x)

>>> 'true' if True else 'false'
>>> 'true' if False else 'false'

Official docs -