Maison > développement back-end > Tutoriel Python > Comment tester efficacement l'égalité de plusieurs variables par rapport à une valeur unique en Python ?

Comment tester efficacement l'égalité de plusieurs variables par rapport à une valeur unique en Python ?

Patricia Arquette
Libérer: 2025-01-01 04:28:11
original
167 Les gens l'ont consulté

How to Efficiently Test Multiple Variables for Equality Against a Single Value in Python?

Comment tester simultanément l'égalité de plusieurs variables par rapport à une valeur unique en Python

Lors de la comparaison de plusieurs variables à un entier et de la génération d'un triple chaîne de lettres en sortie, vous pourriez rencontrer des difficultés pour traduire ce concept en Python. Examinons le problème et trouvons la solution la plus efficace.

Considérez l'extrait de code suivant :

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 de ce code devrait être :

["c", "d", "f"]
Copier après la connexion

Cependant, en raison de la nature des expressions booléennes, Python évalue chaque côté de l'opérateur or séparément. Par conséquent, ce code ne produira pas le résultat souhaité.

Pour résoudre ce problème, vous pouvez utiliser une approche alternative, par exemple en testant chaque variable individuellement par rapport à la valeur spécifique :

if x == 1 or y == 1 or z == 1:
    mylist.append("d")
Copier après la connexion

Alternativement , vous pouvez utiliser un test de confinement sur un tuple ou un ensemble :

if 1 in (x, y, z):
    mylist.append("d")

# Or even more efficiently
if 1 in {x, y, z}:
    mylist.append("d")
Copier après la connexion

Les ensembles offrent des tests d'adhésion à coût constant, ce qui en fait un choix optimal pour cela. scénario.

Il est crucial de se rappeler que les expressions booléennes suivent une hiérarchie d'opérations, avec des opérateurs comme ou ayant une priorité inférieure aux opérateurs de comparaison comme ==. Comprendre ces règles de priorité vous aidera à écrire un code plus efficace et plus précis.

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