Heim > Backend-Entwicklung > Python-Tutorial > Wie reduziert das Verständnis verschachtelter Listen eine Liste in Python?

Wie reduziert das Verständnis verschachtelter Listen eine Liste in Python?

Linda Hamilton
Freigeben: 2024-12-04 06:07:12
Original
218 Leute haben es durchsucht

How Does Nested List Comprehension Flatten a List in Python?

Verschachtelte Listenverständnis: Aufschlüsselung der Syntax

In Python ist das Listenverständnis eine prägnante Möglichkeit, eine neue Liste basierend auf einer vorhandenen zu generieren eins. Wenn es jedoch um das Verständnis verschachtelter Listen geht, kann die Syntax etwas verwirrend werden.

Bedenken Sie den folgenden Ausschnitt:

a = [[1,2],[3,4],[5,6]]
b = [x for xs in a for x in xs]
Nach dem Login kopieren

Dieser Code wandelt die verschachtelte Liste a in eine abgeflachte Liste b um enthält alle Elemente aus a. Um zu verstehen, wie das funktioniert, schlüsseln wir die Syntax auf:

[x for xs in a for x in xs]
Nach dem Login kopieren

Dies ist ein zweistufiges verschachteltes Verständnis. Im Wesentlichen heißt es:

# Loop over the outer list
for xs in a:
    # Loop over the inner list
    for x in xs:
        # Add x to the new list b
        b.append(x)
Nach dem Login kopieren

Mit anderen Worten, es iteriert zuerst über die äußere Liste a, weist jede Unterliste der Variablen xs zu und iteriert dann über die Unterliste und weist jedes Element der Variablen x zu. Für jedes Element x wird es der neuen Liste b hinzugefügt.

Dieser Abrollvorgang folgt der Reihenfolge, in der die Schleifen geschrieben werden: Die äußerste Schleife variiert am langsamsten, gefolgt von den inneren Schleifen. Dies ist das in PEP202 erwähnte „Right One“-Prinzip, das besagt, dass Verständnisse mit dem am schnellsten variierenden Index auf der innersten Schleife geschrieben werden sollten.

Wenn Sie dieses Prinzip verstehen, können Sie selbst komplexe verschachtelte Listenverständnisse sicher entschlüsseln .

Das obige ist der detaillierte Inhalt vonWie reduziert das Verständnis verschachtelter Listen eine Liste in Python?. 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