Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich eine Liste von Listen in Python transponieren?

Wie kann ich eine Liste von Listen in Python transponieren?

Patricia Arquette
Freigeben: 2024-12-25 20:25:11
Original
538 Leute haben es durchsucht

How Can I Transpose a List of Lists in Python?

Transponieren einer Liste von Listen

Gegeben eine Liste von Listen, wie zum Beispiel:

l = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Nach dem Login kopieren

Unser Ziel ist um die Liste zu transponieren, was zu Folgendem führt:

r = [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
Nach dem Login kopieren

Using zip

Die zip()-Funktion in Python kombiniert Elemente aus mehreren Iterables in einer einzigen Liste von Tupeln. Wir können zip verwenden, um eine transponierte Liste zu erstellen, indem wir die ursprüngliche Liste als Folge von Argumenten übergeben:

result = list(map(list, zip(*l)))
Nach dem Login kopieren

Die äußere list() wandelt die Tupel in Listen um und die Funktion map() wendet diese Transformation auf an jedes Element im Zip-Ergebnis.

Verwendung von zip_longest

Die itertools.zip_longest() Die Funktion ähnelt zip, verwirft jedoch keine Daten, wenn die Iterables unterschiedliche Längen haben. Es füllt kürzere Iterables mit einem angegebenen Füllwert (standardmäßig keiner):

from itertools import zip_longest
result = list(map(list, zip_longest(*l, fillvalue=None)))
Nach dem Login kopieren

Erklärung

Der Schlüssel zur Transposition ist die Verwendung von zip, um Elemente aus dem zu kombinieren Unterlisten der ursprünglichen Liste. Die Funktion zip() generiert Tupel, die ein Element aus jeder Unterliste am gleichen Index enthalten. Diese Tupel werden dann in Listen umgewandelt, um die Zeilen der transponierten Liste zu erstellen.

Durch die Verwendung des *-Operators zum Entpacken der ursprünglichen Liste als Argumente für zip können wir die Liste in einer einzigen Codezeile transponieren. Die Funktion „map()“ wird verwendet, um sicherzustellen, dass das Ergebnis eine Liste von Listen ist.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Liste von Listen in Python transponieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage