Wie verschachtelt man mehrere Listen gleicher Länge in Python?

Barbara Streisand
Freigeben: 2024-11-14 18:51:02
Original
749 Leute haben es durchsucht

How to Interleave Multiple Equilength Lists in Python?

Verschachtelung mehrerer Listen gleicher Länge in Python: Ein pythonischer Ansatz

In Python stellt sich häufig die Aufgabe, mehrere Listen gleicher Länge zu verschachteln. Bei diesem Vorgang werden die Elemente aus den Eingabelisten abgewechselt, um eine neue Liste zu erstellen.

Problemstellung:

Gegebenenfalls zwei oder mehr Listen gleicher Länge, finden Sie einen pythonischen Weg um ihre Elemente in einer einzigen Liste zu verschachteln und dabei die ursprüngliche Elementreihenfolge beizubehalten.

Lösung:

Mit der leistungsstarken zip()-Funktion und dem Listenverständnis können wir Folgendes erreichen gewünschte Verschachtelung auf prägnante und elegante Weise.

Für zwei Listen, l1 und l2, demonstriert das folgende Codefragment den Verschachtelungsprozess:

[val for pair in zip(l1, l2) for val in pair]
Nach dem Login kopieren

Dieser Code verwendet die Funktion zip(), um Erstellen Sie Paare entsprechender Elemente aus l1 und l2. Dann iteriert es über jedes Paar und entpackt seine Elemente (val) in das Listenverständnis.

Beispiel:

l1 = [1, 2, 3]
l2 = [10, 20, 30]

interleaved_list = [val for pair in zip(l1, l2) for val in pair]

print(interleaved_list)  # [1, 10, 2, 20, 3, 30]
Nach dem Login kopieren

Verallgemeinerung für N Listen:

Die gleiche Technik kann verallgemeinert werden, um eine beliebige Anzahl von Listen zu verschachteln:

lists = [l1, l2, ..., ln]
[val for tup in zip(*lists) for val in tup]
Nach dem Login kopieren

Dieser Code verwendet den *-Operator, um die Listen in separate Argumente für zip() zu entpacken. Erstellen von Tupeln entsprechender Elemente aus allen Eingabelisten. Das Listenverständnis iteriert über jedes Tupel und extrahiert seine Elemente, um die verschachtelte Liste zu erstellen.

Das obige ist der detaillierte Inhalt vonWie verschachtelt man mehrere Listen gleicher Länge in Python?. 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