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
Libérer: 2025-01-05 20:58:41
original
880 Les gens l'ont consulté

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

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

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

if 1 in (x, y, z):
    ....
Copier après la connexion

Alternativement , pour une amélioration efficacité :

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

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

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

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