开发者

Python-equivalent of short-form "if" in C++ [duplicate]

This question already has answers here: 开发者_运维知识库 Closed 10 years ago.

Possible Duplicate:

Python Ternary Operator

Is there a way to write this C/C++ code in Python? a = (b == true ? "123" : "456" )


a = '123' if b else '456'


While a = 'foo' if True else 'bar' is the more modern way of doing the ternary if statement (python 2.5+), a 1-to-1 equivalent of your version might be:

a = (b == True and "123" or "456" )

... which in python should be shortened to:

a = b is True and "123" or "456"

... or if you simply want to test the truthfulness of b's value in general...

a = b and "123" or "456"

? : can literally be swapped out for and or


My cryptic version...

a = ['123', '456'][b == True]


See PEP 308 for more info.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜