Reduzierung der Ergebnisse des Listenverständnisses
Bei der Verwendung von Listenverständnissen stößt man häufig auf verschachtelte Listen als Ausgabe, insbesondere wenn man mit Funktionen arbeitet, die Listen zurückgeben . Um diese verschachtelten Listen in ein flaches Ergebnis umzuwandeln, sollten Sie die folgenden Techniken implementieren:
Verschachtelte Iterationen in Listenverständnissen
Pythons Listenverständnisse unterstützen verschachtelte Schleifen. Dadurch können Sie mehrere Sammlungen durchlaufen und die Ergebnisse reduzieren. Das folgende verschachtelte Listenverständnis wandelt beispielsweise eine Liste von Verzeichnissen in eine flache Liste von Unterverzeichnissen um:
<code class="python">dirs = ['dir1', 'dir2', 'dir3'] filenames = [filename for path in dirs for filename in os.listdir(path)]</code>
Dieses Verständnis iteriert über Verzeichnisse und greift auf jeden Verzeichnispfad zu. Innerhalb der inneren Schleife verwendet es os.listdir, um die Dateinamen in diesem Verzeichnis abzurufen. Die resultierende Liste enthält alle Unterverzeichnisse.
Verketten von Listenverständnissen
Alternativ können Sie mehrere Listenverständnisse verketten, um eine Verflachung zu erreichen. Dieser Ansatz eignet sich, wenn Sie mehrere Transformationen anwenden müssen:
<code class="python">directories = ['dir1', 'dir2', 'dir3'] filenames = [filename for path in directories if os.path.isdir(path) for filename in os.listdir(path)]</code>
In diesem Beispiel filtern wir zunächst Nicht-Verzeichnisse aus Verzeichnissen heraus (mithilfe der if-Klausel). Anschließend wenden wir denselben os.listdir-Vorgang wie im vorherigen Beispiel an. Durch die Verkettung dieser Verständnisse werden die Ergebnisse abgeflacht.
Durch die Verwendung verschachtelter Iterationen oder die Verkettung von Verständnissen können Sie die Ergebnisse des Verständnisses verschachtelter Listen effektiv reduzieren und so Ihren Code bequem vereinfachen und die Lesbarkeit beibehalten.
Das obige ist der detaillierte Inhalt vonWie kann ich die Ergebnisse verschachtelter Listen in Python reduzieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!