web-dev-qa-db-ja.com

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()を使用する方法がよくわかりません。任意の値をブール値に変換することは知っていますが、ここでどのように適用できるのかはわかりません。

7
Gary

そのロジックは次のように表現できます。

D = A and B in C
E = not D
8
Stephen Rauch

これを試して:

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