Maison > développement back-end > Tutoriel Python > Pourquoi `(1 in [1,0] == True)` est-il évalué à `False` en Python ?

Pourquoi `(1 in [1,0] == True)` est-il évalué à `False` en Python ?

Patricia Arquette
Libérer: 2024-11-01 04:23:02
original
1081 Les gens l'ont consulté

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

Fausse évaluation de (1 sur [1,0] == Vrai)

Contrairement à un langage de programmation typique, Python évalue les expressions en utilisant la comparaison chaînage des opérateurs. Dans l'expression (1 in [1,0] == True), l'opération n'est pas analysée comme prévu.

L'expression est en fait interprétée comme :

(1 in [1, 0]) and ([1, 0] == True)
Copier après la connexion

Cette évaluation se décompose into :

  • (1 in [1, 0]) : Ceci est évalué à True car 1 est présent dans la liste [1, 0].
  • ([1, 0] == True) : Ceci est évalué à False car [1, 0] est une liste, pas une valeur booléenne.

L'expression globale, donc , est évalué à :

True and False = False
Copier après la connexion

Ce résultat inattendu met en évidence la différence dans l'évaluation des expressions par Python par rapport à d'autres langages. Pour éviter toute confusion, utilisez des parenthèses pour préciser l'ordre d'évaluation souhaité :

(1 in [1,0]) == True # True
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal