Heim >Backend-Entwicklung >Python-Tutorial >Wie funktioniert das Listenverständnis von Python mit einem variablen Präfix?
Python-for-in-Schleife mit einem variablen Präfix
In Python können Codefragmente wie die folgenden auftreten:
foo = [x for x in bar if x.occupants > 1]
Dieser Codeausschnitt wirft die Frage auf: Was bedeutet es und wie funktioniert es? Arbeit?
Listenverständnis verstehen
Die fragliche Syntax wird als Listenverständnis bezeichnet. Ein Listenverständnis ist eine prägnante Möglichkeit, eine neue Liste basierend auf einer vorhandenen Liste zu generieren, typischerweise durch Filtern oder Transformieren ihrer Elemente.
Syntaktische Struktur des Listenverständnisses
A Das Listenverständnis folgt dieser allgemeinen syntaktischen Struktur:
[expression for item in iterable if condition]
Erklärung des Gegebenen Beispiel
Im gegebenen Beispiel sind folgende Elemente beteiligt:
So funktioniert es
Das Listenverständnis iteriert über jedes Element x in der Listenleiste. Für jedes Element x wird geprüft, ob die Bedingung x.occupants > 1 ist wahr. Wenn die Bedingung wahr ist, wird der Ausdruck x ausgewertet und in die neu erstellte Liste aufgenommen.
Vergleich mit einer For-in-Schleife
Das Listenverständnis ist gleichwertig zur folgenden traditionellen For-In-Schleife:
foo = [] for x in bar: if x.occupants > 1: foo.append(x)
Das Listenverständnis ist jedoch prägnanter und lesbar.
Alternative Möglichkeit, die Syntax zu verstehen
Alternativ kann das Listenverständnis als Abkürzung zu zwei integrierten Funktionen betrachtet werden:
Im gegebenen Beispiel das Listenverständnis entspricht:
foo = map(lambda x: x, filter(lambda x: x.occupants > 1, bar))
Das obige ist der detaillierte Inhalt vonWie funktioniert das Listenverständnis von Python mit einem variablen Präfix?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!