Heim >Backend-Entwicklung >Python-Tutorial >Was bedeutet eine Python-„for-in'-Schleife, der eine Variable im Listenverständnis vorangeht, und wie funktioniert sie?

Was bedeutet eine Python-„for-in'-Schleife, der eine Variable im Listenverständnis vorangeht, und wie funktioniert sie?

Barbara Streisand
Barbara StreisandOriginal
2024-11-28 16:08:11309Durchsuche

What Does a Python `for-in` Loop Preceded by a Variable in List Comprehension Mean and How Does It Work?

Python-for-in-Schleife mit vorangestellter Variable

Betrachten Sie den folgenden Code:

foo = [x for x in bar if x.occupants > 1]

Dieser Code löst aus die Frage: „Was bedeutet es und wie funktioniert es?“

Um dieses Konstrukt zu verstehen, müssen wir es verstehen Tauchen Sie ein in die Listenverständnissyntax von Python. Ein Listenverständnis ist eine kompakte Methode zum Generieren einer Liste durch Iteration über eine vorhandene Sammlung und optionalem Filtern und Transformieren von Elementen basierend auf einer Bedingung.

Syntaktisch besteht ein Listenverständnis aus drei Teilen:

  1. Ausdruck: Ein Ausdruck, der die Elemente darstellt, die dem hinzugefügt werden sollen Liste.
  2. for-in-Schleife mit einer Variablen: Durchläuft die Eingabesammlung und weist jedes Element der angegebenen Variablen zu.
  3. if-Anweisung (optional) : Filtert die Elemente basierend auf einer angegebenen Bedingung.

Im Beispielcode iteriert die For-In-Schleife über jedes Element x in der Sammlungsleiste. Der Ausdruck x.occupants > Für jedes Element wird 1 ausgewertet, und wenn die Auswertung „True“ ergibt, wird das Element x zur resultierenden Liste foo hinzugefügt. Dieser Vorgang ist analog zu einer regulären Schleife mit einer zusätzlichen Filterbedingung.

MATLAB-Äquivalent:

foo = bar(bar.occupants > 1);

Haskell-Äquivalent:

foo = [x | x <- bar, x.occupants > 1]

Das obige ist der detaillierte Inhalt vonWas bedeutet eine Python-„for-in'-Schleife, der eine Variable im Listenverständnis vorangeht, und wie funktioniert sie?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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