Heim >Backend-Entwicklung >Python-Tutorial >Wie funktionieren die Funktionen „any' und „all' von Python beim Listenverständnis und warum könnte dies „[False, False, False]' zurückgeben?
Die Any-and-All-Funktionen von Python verstehen
Die Any-and-All-Funktionen von Python sind integrierte Funktionen, die Iterables auswerten und einen booleschen Wert basierend auf dem zurückgeben Wahrhaftigkeit ihrer elements.
any
any gibt True zurück, wenn mindestens ein Element im Iterable True ist (oder ungleich Null für numerische Werte). Es wertet das Iterable aus, bis ein True-Wert gefunden wird oder alle Elemente erschöpft sind.
all
all gibt nur dann True zurück, wenn alle Elemente im Iterable True sind. Wenn das Iterable leer ist, gibt all „True“ zurück. Das iterierbare Element wird so lange ausgewertet, bis ein falscher Wert gefunden wird oder alle Elemente untersucht wurden.
Wahrheit
Das Verständnis der Wahrhaftigkeit ist entscheidend, um zu verstehen, wie alle Elemente funktionieren. In Python gelten Werte als wahr, wenn sie nicht Null, leere Zeichenfolgen oder None (Null) sind. Zu den Falsey-Werten gehören 0, leere Container und False selbst.
Ihr Code
In Ihrem Code verwenden Sie das Listenverständnis:
[any(x) and not all(x) for x in zip(*d['Drd2'])]
Um diesen Ausdruck zu verstehen, brechen wir ihn auf down:
Warum False zurückgegeben wird
Ihr Code gibt [False, False, False] zurück, weil er prüft wenn für jedes Tupel in der Liste der Tupel mindestens ein Wert True ist und gleichzeitig nicht alle Werte True sind. Da die Tupel in d['Drd2'] identische Elemente haben, ist all(x) für jedes Tupel wahr, was bedeutet, dass nicht all(x) falsch ist. Folglich wird der Gesamtausdruck zu „any(x)“ und nicht „all(x)“ wird für jedes Tupel als „Falsch“ ausgewertet.
Das obige ist der detaillierte Inhalt vonWie funktionieren die Funktionen „any' und „all' von Python beim Listenverständnis und warum könnte dies „[False, False, False]' zurückgeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!