Possible Duplicate:
Python Ternary Operator
Putting a simple if-then statement on one line
Is there a way to compress an if
/else
statement to one line in Python?
I oftentimes see all sorts of shortcuts and suspect it can apply here too.
To put an if-then-else statement in one line, use Python's ternary operator x if c else y . This returns the result of expression x if the Boolean condition c evaluates to True . Otherwise, the ternary operator returns the alternative expression y .
Ternary Operator in Python A ternary operator exists in some programming languages, and it allows you to shorten a simple If-Else block. It takes in 3 or more operands: Value if true - A value that's returned if the condition evaluates to True .
Python If Statement In One Line In Python, we can write “if” statements, “if-else” statements and “elif” statements in one line without worrying about the indentation. In Python, it is permissible to write the above block in one line, which is similar to the above block.
An example of Python's way of doing "ternary" expressions:
i = 5 if a > 7 else 0
translates into
if a > 7:
i = 5
else:
i = 0
This actually comes in handy when using list comprehensions, or sometimes in return statements, otherwise I'm not sure it helps that much in creating readable code.
The readability issue was discussed at length in this recent SO question better way than using if-else statement in python.
It also contains various other clever (and somewhat obfuscated) ways to accomplish the same task. It's worth a read just based on those posts.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With