Die Python-Funktionen „any()“ und „all()“ verstehen
In Python integrierte Funktionen „any()“ und „all()“ werden abgespielt eine entscheidende Rolle bei der Bewertung der Wahrhaftigkeit von Werten innerhalb einer Iteration. Diese Funktionen bieten präzise und effiziente Möglichkeiten zum Testen mehrerer Bedingungen.
any()-Funktion
any() bestimmt, ob ein Element in einer Iterable wahr ist. Es gibt True zurück, wenn auch nur ein einzelner True-Wert vorhanden ist; andernfalls wird False zurückgegeben.
Beispiel:
my_list = [0, False, 'Hello', 1, ''] print(any(my_list)) # Outputs True as 'Hello' and 1 are True
all() Function
all(), on prüft andererseits, ob jedes Element in einer Iterable wahr ist. Es gibt nur dann True zurück, wenn alle Elemente True sind. andernfalls wird False zurückgegeben.
Beispiel:
my_list = [True, 1, 'True'] print(all(my_list)) # Outputs True as all elements are True
Wahrheit und logische Bewertung
any() und alle () führen im Wesentlichen logische ODER- bzw. UND-Operationen durch. Es ist wichtig, ihr Wahrheitsverhalten zu verstehen.
Wahrheitstabelle:
Iterable Values | any() | all() |
---|---|---|
All True | True | True |
All False | False | False |
Mixed True and False | True | False |
Empty Iterable | False | True |
Verstehen Ihres Codes
In Ihrem Code Sie verwenden eine Kombination aus any() und all(), um zu prüfen, ob ein Wert in einem Tupel unterschiedlich ist, und stellen gleichzeitig sicher, dass nicht alle Werte unterschiedlich sind. Aufgrund eines Missverständnisses bei der Codeauswertung wurde jedoch nicht die erwartete Ausgabe erhalten:
d = defaultdict(list) print(list(zip(*d['Drd2']))) # [(1, 1), (5, 6), (0, 0)] print([any(x) and not all(x) for x in zip(*d['Drd2'])]) # [False, False, False]
In diesem Fall prüft any(x), ob ein Wert in einem Tupel unterschiedlich ist (d. h. True), während all(x) sicherstellt, dass nicht alle Werte unterschiedlich sind (d. h. falsch). Da (1, 1), (5, 6) und (0, 0) alle unterschiedliche Werte haben, werden alle drei Tupel korrekt als [Falsch, Falsch, Falsch] ausgewertet.
Um die gewünschte Ausgabe zu erzielen , können Sie den Code wie folgt ändern:
print([x[0] != x[1] for x in zip(*d['Drd2'])]) # [False, True, False]
Dadurch wird direkt überprüft, ob das erste und das zweite Element in jedem Tupel unterschiedlich sind, was zur erwarteten Ausgabe führt [False, True, Falsch].
Das obige ist der detaillierte Inhalt vonWie funktionieren die Python-Funktionen „any()' und „all()' für eine effiziente Wahrheitsbewertung von Iterables?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!