Heim >Backend-Entwicklung >Python-Tutorial >Wie kann man in Python mehrere Variablen effizient auf Gleichheit mit einem einzelnen Wert testen?

Wie kann man in Python mehrere Variablen effizient auf Gleichheit mit einem einzelnen Wert testen?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-01 04:28:11195Durchsuche

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

So testen Sie mehrere Variablen gleichzeitig auf Gleichheit gegenüber einem einzelnen Wert in Python

Beim Vergleich zahlreicher Variablen mit einer Ganzzahl und der Generierung einer Dreiergruppe Wenn Sie eine Buchstabenzeichenfolge als Ausgabe verwenden, kann es bei der Übersetzung dieses Konzepts in Python zu Schwierigkeiten kommen. Lassen Sie uns das Problem untersuchen und die effizienteste Lösung finden.

Bedenken Sie den folgenden Codeausschnitt:

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 dieses Codes sollte sein:

["c", "d", "f"]

Aufgrund der Natur boolescher Ausdrücke wertet Python jedoch jede Seite des Operators „oder“ separat aus. Folglich führt dieser Code nicht zum gewünschten Ergebnis.

Um dieses Problem zu lösen, können Sie einen alternativen Ansatz verwenden, z. B. indem Sie jede Variable einzeln anhand des spezifischen Werts testen:

if x == 1 or y == 1 or z == 1:
    mylist.append("d")

Alternativ , können Sie einen Eindämmungstest für ein Tupel oder eine Menge verwenden:

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

# Or even more efficiently
if 1 in {x, y, z}:
    mylist.append("d")

Sets bieten Mitgliedschaftstests zu konstanten Kosten, was sie zu einer optimalen Wahl dafür macht Szenario.

Es ist wichtig, sich daran zu erinnern, dass boolesche Ausdrücke einer Hierarchie von Operationen folgen, wobei Operatoren wie oder eine niedrigere Priorität haben als Vergleichsoperatoren wie ==. Wenn Sie diese Vorrangregeln verstehen, können Sie effektiveren und präziseren Code schreiben.

Das obige ist der detaillierte Inhalt vonWie kann man in Python mehrere Variablen effizient auf Gleichheit mit einem einzelnen Wert testen?. 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