在C ++中,Python等价于短格式“if”
可能重复:
Python三元运算符
有没有办法在Python中编写这个C / C ++代码? a = (b == true ? "123" : "456" )
非常感谢!
a = '123' if b else '456'
虽然a = 'foo' if True else 'bar'
是执行三元if语句(python 2.5+)的更现代的方式,那么您的版本的1对1等价物可能是:
a = (b == True and "123" or "456" )
…在Python中应该缩短为:
a = b is True and "123" or "456"
…或者如果你只是想testing一般b值的真实性…
a = b and "123" or "456"
? :
? :
可以从字面上换出and or
我的神秘版本…
a = ['123', '456'][b == True]
有关更多信息,请参阅PEP 308 。