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

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

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-01 04:23:02934ブラウズ

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

(1 in [1,0] == True) の False 評価

一般的なプログラミング言語とは異なり、Python は比較を使用して式を評価します演算子の連鎖。式 (1 in [1,0] == True) では、操作は期待どおりに解析されません。

式は実際には次のように解釈されます:

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

この評価は失敗します。 into:

  • (1 in [1, 0]): リスト [1, 0] に 1 が存在するため、これは True と評価されます。
  • ([1, 0] == True): [1, 0] はブール値ではなくリストであるため、これは False と評価されます。

式全体は、したがって、次のように評価されます:

True and False = False

この予期しない結果は、他の言語と比較した Python の式の評価の違いを強調しています。混乱を避けるために、かっこを使用して目的の評価順序を指定します:

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

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

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