Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich die Ergebnisse verschachtelter Listen in Python reduzieren?

Wie kann ich die Ergebnisse verschachtelter Listen in Python reduzieren?

Barbara Streisand
Barbara StreisandOriginal
2024-11-09 00:23:02747Durchsuche

How Can I Flatten Nested List Comprehension Results in Python?

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!

Stellungnahme:
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