Maison >développement back-end >Tutoriel Python >Comment puis-je tester efficacement l'égalité de plusieurs variables en Python ?

Comment puis-je tester efficacement l'égalité de plusieurs variables en Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-01 09:05:09451parcourir

How Can I Efficiently Test Multiple Variables for Equality in Python?

Test de l'égalité de plusieurs variables : une solution complète

Cette requête soulève un défi intrigant : comparer plusieurs variables à un entier spécifique et générer un chaîne de sortie basée sur les résultats.

Pour résoudre ce problème, il faut comprendre que les expressions booléennes en Python ne se comportent pas comme Phrases anglaises. Par exemple, le fragment de code fourni interprète chaque côté de l'opérateur ou comme une expression distincte, plutôt que d'évaluer toutes les variables par rapport à la même comparaison.

Pour résoudre ce problème, la syntaxe correcte est :

if x == 1 or y == 1 or z == 1:

Cela garantit que la comparaison est effectuée indépendamment pour chaque variable.

De plus, on peut condenser ce code à l'aide d'un test de confinement contre un tuple :

if 1 in (x, y, z):

Ou, plus efficacement encore, un ensemble peut être utilisé pour son test d'adhésion à coût constant :

if 1 in {x, y, z}:

Ce code amélioré profite du fait qu'un ensemble Le test d'appartenance a un temps d'exécution fixe, quel que soit l'opérande de gauche.

En substance, l'opérateur or sépare ses arguments, en évaluant chacun comme une expression booléenne. Cependant, même évalué comme une expression unique, le résultat ne correspondrait pas au comportement souhaité. En effet, l'opérateur or renvoie le premier argument qui est « vrai » (une valeur autre que False, un 0 numérique ou un conteneur vide). Par conséquent, seule la première valeur vraie de la séquence serait prise en compte, ce qui pourrait conduire à des résultats incorrects.

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:
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