Wie prüft man mehrere Variablen auf Gleichheit mit einem einzigen Wert in Python?

Um in Python mehrere Variablen auf Gleichheit mit einem einzigen Wert zu prüfen, können Sie den ‘==‘-Operator mit einer Schleife oder einer List Comprehension verwenden.

Zum Beispiel können Sie eine Schleife verwenden, um über eine Liste von Variablen zu iterieren und jede einzelne auf Gleichheit mit einem einzigen Wert zu prüfen:

value = 5
variables = [10, 5, 3, 7, 5]

for variable in variables:
    if variable == value:
        print(f"{variable} ist gleich {value}")
    else:
        print(f"{variable} ist nicht gleich {value}")

Das wird folgende Ausgabe produzieren:

10 ist nicht gleich 5
5 ist gleich 5
3 ist nicht gleich 5
7 ist nicht gleich 5
5 ist gleich 5

Alternativ können Sie eine List Comprehension verwenden, um eine neue Liste von Variablen zu erstellen, die die Gleichheitsbedingung erfüllen:

value = 5
variables = [10, 5, 3, 7, 5]

equal_variables = [variable for variable in variables if variable == value]

print(equal_variables)

Das wird folgende Ausgabe produzieren:

[5, 5]

Um eine elegante Lösung für die Überprüfung der Gleichheit mehrerer Variablen in Python zu demonstrieren, kann die all()-Funktion in Kombination mit einem Generatorausdruck verwendet werden. Diese Methode ist besonders nützlich, wenn Sie überprüfen möchten, ob alle Elemente in einer Sammlung (wie einer Liste oder einem Tuple) demselben Wert entsprechen.

Erklärung der all()-Funktion mit einem Generatorausdruck

Die all()-Funktion in Python nimmt ein iterierbares Objekt als Eingabe und gibt True zurück, wenn alle Elemente im iterierbaren Objekt als wahr bewertet werden. In Kombination mit einem Generatorausdruck kann all() effizient überprüfen, ob jede Variable in einer Gruppe von Variablen einem bestimmten Wert entspricht.

Beispiel

Nehmen wir an, Sie haben mehrere Variablen und möchten überprüfen, ob sie alle den Wert 5 haben:

a = 5
b = 5
c = 5

# Überprüfung mit all() und einem Generatorausdruck
gleichheit = all(var == 5 for var in (a, b, c))

if gleichheit:
    print("Alle Variablen sind gleich 5.")
else:
    print("Nicht alle Variablen sind gleich 5.")

In diesem Beispiel durchläuft der Generatorausdruck (var == 5 for var in (a, b, c)) jede Variable in der Tuple (a, b, c) und überprüft, ob sie gleich 5 ist. Die all()-Funktion wertet dann aus, ob jede dieser Überprüfungen True ergibt.

Vorteile

  • Effizienz: Der Generatorausdruck generiert die Werte on-the-fly, was bedeutet, dass nicht alle Werte im Speicher gehalten werden müssen. Dies ist besonders nützlich, wenn Sie mit einer großen Anzahl von Variablen arbeiten.
  • Lesbarkeit: Die Verwendung von all() mit einem Generatorausdruck führt zu einem sauberen und lesbaren Code, der leicht verständlich ist.