Ihr Codeausschnitt enthält eine While-Schleife, die eine Liste durchläuft, um zu prüfen, ob eines ihrer Elemente eine erfüllt spezifische Bedingung, insbesondere wenn das letzte Element jeder Unterliste 0 ist. Um die Effizienz und Lesbarkeit zu verbessern, sollten Sie erwägen, die in Python integrierten Funktionen all() und any() zu verwenden, um solche Bedingungen zu verarbeiten prüft.
Die Funktion all() gibt „True“ zurück, wenn alle Elemente in einer Liste bei Anwendung mit einer bestimmten Bedingung „True“ ergeben. Um in Ihrem Fall zu überprüfen, ob alle Elemente einen Flag-Wert von 0 haben, können Sie Folgendes verwenden:
all(item[2] == 0 for item in list_)
Dieser Ausdruck gibt True zurück, wenn alle Unterlisten einen Flag-Wert von 0 haben, andernfalls False.
Andererseits gibt die Funktion „any()“ „True“ zurück, wenn ein Element in einer Liste bei Anwendung mit einer bestimmten Bedingung „True“ ergibt. So überprüfen Sie, ob mindestens eine Unterliste einen Flag-Wert von 0 hat:
any(item[2] == 0 for item in list_)
Dieser Ausdruck gibt True zurück, wenn eine der Unterlisten einen Flag-Wert von 0 hat, andernfalls False.
my_list = [[1, 2, 0], [2, 3, 1], [4, 5, 0]] if all(item[2] == 0 for item in my_list): print("All flags are 0") else: print("At least one flag is not 0") if any(item[2] == 0 for item in my_list): print("At least one flag is 0") else: print("No flags are 0")
In diesem Beispiel wäre die Ausgabe:
At least one flag is not 0 At least one flag is 0
Das obige ist der detaillierte Inhalt vonWie kann ich in Python effizient prüfen, ob einige oder alle Listenelemente eine bestimmte Bedingung erfüllen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!