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]
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]
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)
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!