ホームページ >バックエンド開発 >Python チュートリアル >Python で `(1 in [1,0] == True)` が False と評価されるのはなぜですか?

Python で `(1 in [1,0] == True)` が False と評価されるのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-03 18:17:30902ブラウズ

Why Does `(1 in [1,0] == True)` Evaluate to False in Python?

解明: '(1 in [1,0] == True)' が False と評価される理由の謎

式 ' Python の (1 in [1,0] == True)' は、True であることが予想されるときに False と評価されるため、最初は直観に反しているように思えるかもしれません。この謎を解明するには、Python の評価プロセスの内部動作を詳しく調べる必要があります。

興味深いことに、Python はこの式をブール値に対する単純なチェックではなく、一連の比較として解釈します。式の真の構造は次のように明らかになります。

(1 in [1,0]) and ([1,0] == True)

最初の式 '(1 in [1,0])' は True を返し、2 番目の式は True を返すため、この一連の比較は False と評価されます。 、'([1,0] == True)'、False と評価されます。

この比較連鎖の現象は、'a < などの他の式でも発生します。 b

(a < b) and (b < c)

'b' を 2 回冗長に評価することはありません。

複雑な処理を扱うときに予期しない結果を避けるために、Python の評価動作のこの側面を理解することが重要です。比較を含む式。

以上がPython で `(1 in [1,0] == True)` が False と評価されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。