Nested List Comprehension erklärt
Nested List Comprehensions bieten eine prägnante Möglichkeit, komplexe Listen dynamisch mithilfe von Iterables zu erstellen. Während ihre Funktionalität durch äquivalente for-Schleifen verstanden werden kann, hilft ihr systematischer Ansatz dabei, das Konzept auf verschiedene Beispiele anzuwenden.
Syntax und Übersetzung
Verschachtelte Listenverständnisse folgen der Syntax:
[exp2([exp1 for x in xSet]) for y in ySet]
Wenn Sie dies aufschlüsseln, werden Sie feststellen, dass für jedes Element y in ySet eine innere Liste erstellt wird. Innerhalb dieser inneren Liste wird für jedes Element x in xSet ein Ausdruck exp1 ausgewertet. Schließlich wertet das äußere Listenverständnis exp2 anhand jeder erstellten inneren Liste aus.
Vereinfachte Beispiele
[exp1 for x in xSet for y in ySet]
Äquivalent für Schleife:
result = [] for x in xSet: for y in ySet: result.append(exp1)
[[exp1 for x in xSet] for y in ySet]
Äquivalent für Schleife:
result = [] for y in ySet: innerResult = [] for x in xSet: innerResult.append(exp1) result.append(innerResult)
Systematische Anwendung
Zur Verallgemeinerung können die folgenden Schritte befolgt werden:
Denken Sie daran, Die Verschachtelung von for-Schleifen erfolgt von links nach rechts, was komplexe Listentransformationen in einer prägnanten Syntax ermöglicht.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3