Heim >Backend-Entwicklung >Python-Tutorial >Wie kann man mehrere Python-Variablen effizient mit einem einzigen ganzzahligen Wert vergleichen?

Wie kann man mehrere Python-Variablen effizient mit einem einzigen ganzzahligen Wert vergleichen?

Linda Hamilton
Linda HamiltonOriginal
2025-01-05 20:58:41951Durchsuche

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

Vergleich mehrerer Variablen mit einem einzelnen Wert

Problembeschreibung:

Suche nach einer Methode in Python kann ermitteln, ob mehrere Variablen einer bestimmten Ganzzahl entsprechen, und anschließend eine aus drei Buchstaben bestehende Zeichenfolge erzeugen. Zum Beispiel:

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")

...die erwartete Ausgabe wäre eine Liste von ["c", "d", "f"].

Antwort:

Der bereitgestellte Code missversteht boolesche Ausdrücke in Python. Der ODER-Operator untersucht jede Seite separat, was zu der folgenden Auswertung führt:

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

Um zu überprüfen, ob mindestens eine Variable der gewünschten Ganzzahl entspricht, verwenden Sie den folgenden Ausdruck:

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

Alternativ , für verbesserte Effizienz:

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

Erklärung:

Operatoren haben in Python Vorrang, und der Operator or hat eine niedrigere Priorität als Gleichheit (=). Daher wird zunächst die Gleichheit bewertet. Darüber hinaus gibt der Operator or den ersten gefundenen Wahrheitswert zurück. Das bedeutet, dass die Codesequenz:

x or y or z == 0

False zurückgeben würde, wenn x nicht 0 wäre, selbst wenn y oder z es wären. Um mehrere Variablen korrekt anhand eines einzelnen Werts auszuwerten, verwenden Sie einen Ausdruck wie:

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

Das obige ist der detaillierte Inhalt vonWie kann man mehrere Python-Variablen effizient mit einem einzigen ganzzahligen Wert vergleichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn