Ich habe eine Liste von Wörterbüchern. Ich muss überprüfen, ob alle Wörterbücher in dieser Liste leer sind. Ich suche nach einer einfachen Aussage, die es in einer Zeile macht.
Gibt es eine einzige Möglichkeit, um Folgendes zu tun (ohne den Ausdruck)?
%Vor%Etwas Neues zu Python ... Ich weiß nicht, ob es eine integrierte Kurzschreibweise gibt, um das zu überprüfen. Danke im Voraus.
not any(d for d in l)
könnte in diesem Fall auf nur not any(l)
verkürzt werden.
Ich habe eine Liste von Wörterbüchern. Ich muss überprüfen, ob alle Wörterbücher in dieser Liste leer sind. Ich suche nach einer einfachen Aussage, die es in einer Zeile macht.
Gibt es eine einzige Möglichkeit, um Folgendes zu tun (ohne den Ausdruck)?
%Vor%Etwas Neues zu Python ... Ich weiß nicht, ob es eine integrierte Kurzschreibweise gibt, um das zu überprüfen. Danke im Voraus.
not any(d for d in l)
entspricht dem Gesetz von De Morgan mit all(not d for d in l)
, gilt aber nur mit einem not
Operator. Das Kurzschlussverhalten ist ebenfalls gleichwertig.
Edit 1 : Das innere Genexp ist eigentlich (harmlos aber) redundant: not any(l)
ist schneller und prägnanter.
Bearbeiten 2 : Ein Kommentar behauptet, dass all(not d for d in l)
"mehr ist, was du ausdrücken willst" als not any(l)
, und ich stimme überhaupt nicht zu: auch in natürlicher Sprache "alle Elemente der Liste sind unpopulated "ist nicht mehr normal, direkt oder klar als" kein Punkt der Liste ist bevölkert "- jenseits der absoluten logischen Äquivalenz durch die Gesetze der Logik sind die beiden Ausdrucksmöglichkeiten sehr nahe und in etwa gleichwertig menschliche Psychologie auch.
%code% könnte in diesem Fall auf nur %code% verkürzt werden.
Tags und Links python