icn icn - 8 months ago 41
Python Question

Python statement of short 'if-else'

Is there a Python version of the following

statement in C++ or similar statement like this:

int t = 0;
int m = t==0?100:5;

m = 100 if t == 0 else 5 # Requires Python version >= 2.5
m = (5, 100)[t == 0]     # Or [5, 7][t == 0]

Both of the above lines will result in the same thing.

The first line makes use of Python's version of a "ternary operator" available since version 2.5, though the Python documentation refers to it as Conditional Expressions.

The second line is a little hack to provide inline functionality in many (all of the important) ways equivalent to ?: found in many other languages (such as C and C++).

Documentation of Python - 5.11. Conditional Expressions