Das Verständnis verschachtelter Listen verstehen
Das Verständnis verschachtelter Listen ist eine leistungsstarke Funktion in Python, mit der Sie mühelos komplexe Datenstrukturen erstellen können. Um zu verstehen, wie es funktioniert, betrachten wir eine vereinfachte Version:
<code class="python">[(min([row[i] for row in rows]), max([row[i] for row in rows])) for i in range(len(rows[0]))]</code>
Dieser Ausdruck entspricht der folgenden for-Schleife:
<code class="python">result=[] for i in range(len(rows[0])): innerResult=[] for row in rows: innerResult.append(row[i]) innerResult2=[] for row in rows: innerResult2.append(row[i]) tuple=(min(innerResult), max(innerResult2)) result.append(tuple)</code>
Der Schlüssel zum Verständnis des Verständnisses verschachtelter Listen ist die Verschachtelung der for-Schleifen. Die äußere Schleife iteriert über die Elemente von rows[0], während die innere Schleife zeilenweise über die Zeilen iteriert.
Im obigen Ausdruck ist die erste for-Schleife für die Erstellung der äußeren Struktur der Liste verantwortlich. Für jede Iteration wird ein neues Tupel erstellt. Währenddessen erstellt die zweite for-Schleife die innere Struktur des Tupels. Für jede Zeile in Zeilen wird das Element am Index i extrahiert und zur inneren Ergebnisliste hinzugefügt.
Um dieses Konzept zu verallgemeinern, kann jedes verschachtelte Listenverständnis der Form
<code class="python">[exp2([exp1 for x in xSet]) for y in ySet]</code>
Kann in die for-Schleifenstruktur übersetzt werden:
<code class="python">result=[] for y in ySet: innerResult =[] for x in xSet: innerResult.append(exp1) exp2Result = exp2(innerResult) result.append(exp2Result)</code>
Für einfachere Fälle ist die Äquivalenz einfach:
Das obige ist der detaillierte Inhalt vonWie funktioniert das Verständnis verschachtelter Listen in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!