在一行中反转布尔分配

时间:2018-11-20 18:52:14

标签: python

有没有一种简短的方法可以做到这一点?

if flag == False:
    flag = True

我觉得应该只有几个字母。
我也很好奇其他语言如何处理这种条件分配。谢谢。

修改

如果flagTrue,则需要停留True,因此我不能使用flag = not flag
flat = True确实是一种单行解决方案,但是由于该语句处于循环内,所以我不确定每次重新分配flat = True是否是一种好习惯。

4 个答案:

答案 0 :(得分:0)

是的!您可以简单地用一个简短的表达式将其反转:

flag = not flag

答案 1 :(得分:0)

对于一般的内联条件,您可以使用

if flag ==  False: flag = True

或者只切换布尔值就可以使用

flag = not flag

您还可以使用类似

的三元运算符
flag = condition_if_true if condition else condition_if_false

答案 2 :(得分:0)

通过使用if-elseTrue或`False

flag = True if 10<5 else False #(True if condition is True else False)

答案 3 :(得分:0)

在JavaScript中,您可以执行以下操作:

boolean = !boolean