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

2024-04-20 04:21:33 发布

您现在位置:Python中文网/ 问答频道 /正文

Possible Duplicate:
Python Ternary Operator
Putting a simple if-then statement on one line

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


Tags: ifonlinesimpleoneoperatorelse中将
3条回答

Python的if可以用作ternary operator

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

Python执行“三元”表达式的方法示例:

i = 5 if a > 7 else 0

翻译成

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

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

在最近的SO问题better way than using if-else statement in python中详细讨论了可读性问题。

它还包含完成同一任务的各种其他聪明的方法。仅凭这些帖子就值得一读。

仅用作值:

x = 3 if a==2 else 0

或者

return 3 if a==2 else 0

相关问题 更多 >