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
Libérer: 2025-01-01 09:05:09
original
442 Les gens l'ont consulté

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:
Copier après la connexion

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):
Copier après la connexion

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

if 1 in {x, y, z}:
Copier après la connexion

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!

source:php.cn
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