Maison >développement back-end >Tutoriel Python >Comment comparer efficacement plusieurs variables Python à une seule valeur entière ?

Comment comparer efficacement plusieurs variables Python à une seule valeur entière ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-05 20:58:41830parcourir

How to Efficiently Compare Multiple Python Variables to a Single Integer Value?

Comparaison de plusieurs variables à une valeur unique

Description du problème :

Recherche d'une méthode dans Python pour vérifier si plusieurs variables sont égales à un entier particulier et produire ensuite une chaîne composée de trois lettres. Par exemple, étant donné :

x = 0
y = 1
z = 3
mylist = []

if x or y or z == 0:
    mylist.append("c")
if x or y or z == 1:
    mylist.append("d")
if x or y or z == 2:
    mylist.append("e")
if x or y or z == 3:
    mylist.append("f")

... le résultat attendu serait une liste de ["c", "d", "f"].

Réponse :

Le code fourni comprend mal les expressions booléennes en Python. L'opérateur ou examine chaque côté séparément, ce qui donne l'évaluation suivante :

(x == False or y == False) or (y == False or z == False)

Pour vérifier qu'au moins une variable est égale à l'entier souhaité, utilisez l'expression suivante :

if 1 in (x, y, z):
    ....

Alternativement , pour une amélioration efficacité :

if 1 in {x, y, z}:
    ....

Explication :

Les opérateurs ont la priorité en Python, et l'opérateur ou a une priorité inférieure à l'égalité (=). C’est donc l’égalité qui est évaluée en premier. De plus, l'opérateur ou renvoie la première valeur véridique rencontrée. Cela signifie que la séquence de code :

x or y or z == 0

renverrait False si x n'était pas 0, même si y ou z l'était. Pour évaluer correctement plusieurs variables par rapport à une seule valeur, utilisez une expression telle que :

x == 1 or y == 1 or z == 1

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