[statement if condition else statement for _ in iterable_object]
#statement are without assignment
# if/else
[f(x) if condition(x) else '' for x in sequence]
l = [22, 13, 45, 50, 98, 69, 43, 44, 1]
a = [x + 1 if x >= 45 else x + 5 for x in l]
[f(x) for x in sequence if condition]
[f(x) if condition else g(x) for x in sequence]
[unicode(x.strip()) if x is not None else '' for x in row]
In general,
[f(x) if condition else g(x) for x in sequence]
And, for list comprehensions with if conditions only,
[f(x) for x in sequence if condition]
[<Exp1> if condition else <Exp2> if condition else <Exp3> for <item> in <iterable>]