相当于'a?b:c`

时间:2011-05-13 17:03:15

标签: python

  

可能重复:
  Python Ternary Operator

我想在python中打印出一个字符串。我不想这样做:

if isfemale_bit:
    print 'F'
else:
    print 'M'

我现在最好的是print ['M', 'F'][int(isfemale_bit)]

有更好的选择吗?

我需要我的语法糖!!

4 个答案:

答案 0 :(得分:48)

在Python 2.5中,您可以使用这样的三元条件:

a if b else c

此处有更多讨论:Does Python have a ternary conditional operator?

答案 1 :(得分:15)

三元运营商啊:

>>> print 'foo' if True else 'bar'
foo
>>> print 'foo' if False else 'bar'
bar

答案 2 :(得分:12)

 print 'F' if isfemale_bit else 'M'

答案 3 :(得分:7)

我猜你在C代码中寻找类似o isfemale_bit?'F':'M'的解决方案 因此,您可以使用and-or构造(请参阅Dive Into Python

print isfemale_bit and 'F' or 'M'