如何将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++