Die Any-and-All-Funktionen von Python verstehen
Die Any-and-All-Funktionen von Python sind wesentliche Werkzeuge zur Analyse der Wahrhaftigkeit iterierbarer Elemente.
beliebige Funktion
beliebige (iterierbare) gibt True zurück, wenn ein Element in der Iterable True ist (nicht False, None, 0, ''). Wenn alle Elemente False sind, wird False zurückgegeben. Es verhält sich ähnlich wie eine logische ODER-Operation.
all-Funktion
all(iterable) gibt True zurück, wenn alle Elemente im iterable True sind. Wenn auch nur ein Element False ist, wird False zurückgegeben. Es ähnelt einer logischen UND-Operation.
Anwendung auf Tupel
In Ihrem speziellen Fall haben Sie eine Liste von Tupeln:
d['Drd2'] = [[1, 5, 0], [1, 6, 0]]
Sie Komprimieren Sie diese Tupel, um eine Liste von Tupeln entsprechender Elemente zu erstellen:
list(zip(*d['Drd2'])) = [(1, 1), (5, 6), (0, 0)]
Für jedes dieser Elemente Für Tupel verwenden Sie den Ausdruck:
any(x) and not all(x)
Damit wird überprüft, ob mindestens ein Wert im Tupel unterschiedlich ist (mit „any“), während nicht alle Werte gleich sind (mit „not all“). In Ihrem Beispiel sind jedoch alle entsprechenden Werte in jedem Tupel gleich, sodass der Ausdruck für alle Tupel als „Falsch“ ausgewertet wird, was zu [Falsch, Falsch, Falsch] führt.
Korrektur der erwarteten Ausgabe
Um zu überprüfen, ob beide Zahlen in jedem Tupel nicht gleich sind, müssen Sie verwenden Ausdruck:
x[0] != x[1]
Dies vergleicht die beiden Zahlen im Tupel direkt und gibt True zurück, wenn sie unterschiedlich sind. Wenn Sie diesen Ausdruck mit Listenverständnis verwenden, erhalten Sie die erwartete Ausgabe von [Falsch, Wahr, Falsch], wobei (1, 1) gleich, (5, 6) unterschiedlich und (0, 0) gleich sind.
Das obige ist der detaillierte Inhalt vonWie helfen die „any'- und „all'-Funktionen von Python, Unterschiede in iterierbaren Elementen zu ermitteln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!