x = 'foo' if bar else 'baz'
value_when_true if condition else value_when_false
value_when_true if condition else value_when_false
Better Example: (thanks Mr. Burns)
'Yes' if fruit == 'Apple' else 'No'
Now with assignment and contrast with if syntax
fruit = 'Apple'
isApple = True if fruit == 'Apple' else False
vs
fruit = 'Apple'
isApple = False
if fruit == 'Apple' : isApple = True
b.append(a) if a is not None else None
>>> [(i) for i in my_list if i=="two"]
['two']
new_value = value_when_true if condition else value_when_false
var = [expression1] if [condition] else [expression2]
condition = True
# Simple 2-Liner Method
if condition:
print('hi')
# Method 1: One-Liner If
if condition: print('hi')
# Method 2: Ternary with Dummy
print('hi') if condition else None
# Method 3: Ternary with Dummy for Assignment
x = 42 if condition else None
# Method 4: Short circuiting
condition and print('hi')
if condition:
value = true-expr
else:
value = false-expr
# The same can be written in single line:
value = true-expr if condition else false-expr
# value_when_true if condition else value_when_false
# Cigar Party problem in https://codingbat.com/prob/p195669
def cigar_party(cigars, is_weekend):
result = False
result = True if (is_weekend and cigars >= 40) or (cigars >= 40 and cigars <= 60) else False
return result
[what to do when condition=true] if [condition] else [what to do when condition=false]