Python:如何根据布尔变量反转列表成员资格检查?

比萨

如何根据布尔变量反转列表成员资格检查?

我正在寻找一种方法来简化以下代码:

#  variables: `is_allowed:boolean`, `action:string` and `allowed_actions:list of strings`

if is_allowed:
    if action not in allowed_actions:
        print(r'{action} must be allowed!')

else:
    if action in allowed_actions:
        print(r'{action} must NOT be allowed!')

我觉得必须有一种方法可以避免进行两次检查,一次 forin和另一次 for not in,但想不出一个不那么冗长的方法。

亲切的

将测试结果与 进行比较is_allowed然后使用is_allowed将正确的错误信息放在一起。

if (action in allowed_actions) != is_allowed:
    print(action, "must" if is_allowed else "must NOT", "be allowed!")

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章