Testen mehrerer Variablen auf Gleichheit gegenüber einem einzelnen Wert in Python
Die beschriebene Aufgabe beinhaltet den Vergleich mehrerer Variablen (x, y, z) mit eine bestimmte ganze Zahl und generiert eine Liste der entsprechenden Buchstaben. Der bereitgestellte Code versucht, dies mithilfe einer Reihe von if-elif-Anweisungen zu erreichen, es ist jedoch ein prägnanterer und effizienterer Ansatz verfügbar.
Lösung
Das Missverständnis liegt in der Auswertung boolescher Ausdrücke, die als separate Ausdrücke und nicht als Sammelvergleich behandelt werden. Um mehrere Variablen gegen einen einzelnen Wert zu testen, sollte die folgende Syntax verwendet werden:
if 1 in (x, y, z):
Erläuterung
Die Verwendung des in-Operators garantiert, dass nur eine Variable auf Gleichheit mit der Ganzzahl getestet werden muss (in diesem Fall , 1), wodurch der Code erheblich vereinfacht wird.
Vorteile
Daher lautet der überarbeitete Code zum Generieren der gewünschten Liste:
x = 0 y = 1 z = 3 mylist = [] if 1 in {x, y, z}: mylist.append("c") if 2 in {x, y, z}: mylist.append("d") if 3 in {x, y, z}: mylist.append("f")
Das obige ist der detaillierte Inhalt vonWie kann ich mehrere Python-Variablen effizient mit einem einzigen Wert vergleichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!