Heim > Backend-Entwicklung > Python-Tutorial > Wie funktionieren die Python-Funktionen „any()' und „all()' für eine effiziente Wahrheitsbewertung von Iterables?

Wie funktionieren die Python-Funktionen „any()' und „all()' für eine effiziente Wahrheitsbewertung von Iterables?

Barbara Streisand
Freigeben: 2025-01-04 08:02:33
Original
487 Leute haben es durchsucht

How Do Python's `any()` and `all()` Functions Work for Efficient Truthiness Evaluation of Iterables?

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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]
Nach dem Login kopieren

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]
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage