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
Freigeben: 2025-01-01 04:28:11
Original
231 Leute haben es durchsucht

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")
Nach dem Login kopieren

Die erwartete Ausgabe dieses Codes sollte sein:

["c", "d", "f"]
Nach dem Login kopieren

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")
Nach dem Login kopieren

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")
Nach dem Login kopieren

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!

Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage