使用 bool() 简化“if”语句

新手上路,请多包涵

我有一些代码导致 Pylint 抱怨:

if 语句可以替换为 ‘var = bool(test)’ (simplifiable-if-statement)`

代码(带有混淆的变量名)如下。

 A = True
B = 1
C = [1]
D = False
E = False

if A and B in C:
    D = True
else:
    E = True

print(D, E)

如何简化这使得 Pylint 不抛出任何错误?

我不太明白 bool() 如何用于此目的。我知道它将任何值转换为布尔值,但我不知道如何在此处应用它。

原文由 Gary 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 976
2 个回答

该逻辑可以表示为:

 D = A and B in C
E = not D

原文由 Stephen Rauch 发布,翻译遵循 CC BY-SA 3.0 许可协议

尝试这个:

 D = bool(A and B in C)
E = not bool(A and B in C)

原文由 ndmeiri 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题