如何将if / else压缩成Python中的一行?

可能重复:
Python三元运算符
将简单的if-then语句放在一行上

有没有办法在Python中将if / else语句压缩到一行? 我经常看到各种各样的捷径,并且怀疑它也可以在这里适用。


Python做“三元”表达式的一个例子:

i = 5 if a > 7 else 0

翻译成

if a > 7:
   i = 5
else:
   i = 0

当使用列表推导,或者有时在返回语句中,这实际上很方便,否则我不确定它在创建可读代码方面有多大帮助。

可读性问题在这个最近的SO问题中比在python中使用if-else语句更好地讨论了。

它还包含各种其他巧妙的 (并且有点模糊的)方式来完成相同的任务。 这是值得阅读只是基于这些职位。


Python的if可以用作三元运算符:

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

仅用作值:

x = 3 if a==2 else 0

要么

return 3 if a==2 else 0
链接地址: http://www.djcxy.com/p/7385.html

上一篇: How to condense if/else into one line in Python?

下一篇: form "if" in C++