Heim > Artikel > Backend-Entwicklung > Wie können Pythons „all()' und „any()' effizient auf Konsistenz von Listenelementen prüfen?
Konsistenz von Listenelementen mit all() prüfen
Um festzustellen, ob alle Elemente in einer Liste eine bestimmte Bedingung erfüllen, ist die integrierte Funktion von Python all() bietet eine effiziente Lösung. Stellen Sie sich eine Liste vor, die aus Unterlisten mit drei Elementen besteht, wobei das letzte Element ein Flag darstellt.
my_list = [['a', 'b', 0], ['c', 'd', 0], ['e', 'f', 0], ...]
Traditionell kann eine While-Schleife verwendet werden, um zu überprüfen, ob das Flag einer Unterliste auf 0 gesetzt ist :
def check(list_): for item in list_: if item[2] == 0: return True return False
Dieser Ansatz kann jedoch ineffizient und fehleranfällig sein. Um den Prozess zu vereinfachen und zu beschleunigen, hilft all().
all(item[2] == 0 for item in my_list)
Der Ausdruck wird als „True“ ausgewertet, wenn alle Elemente in der Liste ihr Flag auf 0 haben. Umgekehrt gibt er „False“ zurück, wenn ein Unterelement vorhanden ist. Liste hat ein Flag ungleich Null.
Erweitern des Konzepts
Anstatt nach 0 Flags zu suchen, wollten wir Um sicherzustellen, dass mindestens ein Element ein Null-Flag hat, kann any() verwendet werden:
any(item[2] == 0 for item in my_list)
Dieser Ausdruck wird als True ausgewertet, wenn das Flag mindestens einer Unterliste auf 0 gesetzt ist.
Fazit
Die Verwendung von all() und any() zur Überprüfung der Konsistenz von Listenelementen optimiert den Code und verbessert seine Leistung. Es fördert die Lesbarkeit, macht eine explizite Iteration überflüssig und gewährleistet eine zuverlässige Bewertung des gewünschten Zustands.
Das obige ist der detaillierte Inhalt vonWie können Pythons „all()' und „any()' effizient auf Konsistenz von Listenelementen prüfen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!