W3docs

Listen in Python verbinden

Alle Methoden zum Verbinden von Python-Listen: +-Operator, extend(), Entpacken, itertools.chain und str.join() für Strings.

Python bietet mehrere Möglichkeiten, Listen zu kombinieren und eine Liste von Zeichenketten in einen einzelnen string umzuwandeln. Diese Seite behandelt beide Aufgaben klar und verständlich:

  • Listen verbinden — zwei oder mehr Listen zu einer neuen Liste zusammenführen (mit +, extend(), Entpacken oder itertools.chain).
  • Listenelemente zu einem string verbinden — mithilfe der Methode str.join(), die die Elemente einer Liste zu einem durch Trennzeichen getrennten string verkettet.

Das Verständnis des Unterschieds zwischen diesen beiden Operationen verhindert eine häufige Fehlerquelle für Einsteiger.

Zwei Listen zu einer zusammenführen

Den +-Operator verwenden

Der einfachste Weg, zwei Listen zusammenzuführen, ist der +-Operator. Er gibt eine neue Liste zurück, die alle Elemente beider Operanden enthält, ohne die Originale zu verändern.

list1 = [1, 2, 3]
list2 = [4, 5, 6]
combined = list1 + list2
print(combined)

Ausgabe:

[1, 2, 3, 4, 5, 6]

+ lässt sich verketten, um mehr als zwei Listen in einem Ausdruck zusammenzuführen: a + b + c.

Die extend()-Methode verwenden

extend() fügt alle Elemente einer Liste in place am Ende einer anderen Liste ein. Im Gegensatz zu + verändert sie die ursprüngliche Liste und erstellt keine neue.

list1 = [1, 2, 3]
list2 = [4, 5, 6]
list1.extend(list2)
print(list1)

Ausgabe:

[1, 2, 3, 4, 5, 6]

Verwende extend(), wenn du die ursprüngliche list1 nicht unverändert behalten musst und keine zusätzliche Kopie im Speicher erstellen möchtest.

extend() vs. append(): append() fügt sein Argument als einzelnes Element hinzu, sodass list1.append(list2) das Ergebnis [1, 2, 3, [4, 5, 6]] liefert — eine verschachtelte Liste, keine zusammengeführte. Verwende immer extend(), wenn du die zweite Liste in die erste einfügen möchtest.

Entpacken (Operator *) verwenden

Python 3.5 und höher erlauben die Stern-Entpackungs-Syntax innerhalb eines Listen-Literals. Dies ist kompakt und funktioniert mit einer beliebigen Anzahl von Iterables in einem einzigen Ausdruck.

list1 = [1, 2, 3]
list2 = [4, 5, 6]
combined = [*list1, *list2]
print(combined)

Ausgabe:

[1, 2, 3, 4, 5, 6]

Du kannst auch zusätzliche Elemente inline einfügen: [0, *list1, *list2, 7].

itertools.chain() verwenden

itertools.chain() aus der Standardbibliothek verbindet eine beliebige Anzahl von Iterables verzögert — es wird keine Zwischenliste erstellt, bis du die Werte abrufst. Dies ist die speichereffizienteste Option bei der Verarbeitung großer Sequenzen.

import itertools

list1 = [1, 2, 3]
list2 = [4, 5, 6]
combined = list(itertools.chain(list1, list2))
print(combined)

Ausgabe:

[1, 2, 3, 4, 5, 6]

Übergib itertools.chain(*nested), um eine Liste von Listen in einem Aufruf zu glätten.

Listenelemente mit str.join() zu einem string verbinden

str.join() ist eine string-Methode — sie wird auf dem Trennzeichen-string aufgerufen und nimmt ein Iterable als Argument entgegen. Sie gibt einen einzelnen string zurück, in dem alle Elemente verkettet und durch das Trennzeichen getrennt sind.

delimiter.join(iterable)

Grundlegendes Beispiel

python— editable, runs on the server

Ausgabe:

apple, banana, cherry

Übergib einen leeren string '' als Trennzeichen, um ohne jegliches Trennzeichen zu verketten.

Häufige Trennzeichen

TrennzeichenAusdruckErgebnis
Komma-Leerzeichen', '.join(['a', 'b', 'c'])a, b, c
Leerzeichen' '.join(['Python', 'is', 'great'])Python is great
Bindestrich'-'.join(['2024', '01', '15'])2024-01-15
Zeilenumbruch'\n'.join(['line one', 'line two'])mehrzeiliger Block
Kein Trennzeichen''.join(['H', 'i', '!'])Hi!

Eine Liste von Zahlen verbinden

str.join() erfordert, dass jedes Element ein string ist. Das direkte Übergeben von Ganzzahlen löst einen TypeError aus. Konvertiere sie zunächst mit map(str, ...) oder einem Generatorausdruck.

nums = [10, 20, 30]
result = ', '.join(map(str, nums))
print(result)

Ausgabe:

10, 20, 30

Ein Generatorausdruck erzielt dasselbe Ergebnis und ermöglicht es, jede Zahl beim Durchlauf zu formatieren:

python— editable, runs on the server

Ausgabe:

12345

Mehrzeilige Strings erstellen

'\n'.join() ist der idiomatische Weg, einen mehrzeiligen string aus einer Liste von Zeilen ohne abschließende Zeilenumbrüche zu erstellen.

lines = ['line one', 'line two', 'line three']
block = '\n'.join(lines)
print(block)

Ausgabe:

line one
line two
line three

Den richtigen Ansatz wählen

ZielBeste Methode
Zwei Listen zu einer neuen Liste zusammenführenOperator +
Alle Elemente einer Liste in eine andere einfügenextend()
Mehrere Iterables ohne eine zusätzliche Kopie kombinierenitertools.chain()
Innerhalb eines Literals oder mit zusätzlichen Elementen kombinieren[*a, *b] Entpacken
Eine Liste von Zeichenketten in einen string mit Trennzeichen umwandelnstr.join()
Eine Liste von Zahlen in einen string umwandelnstr.join(map(str, lst))

Verwandte Themen

  • Python Lists — Listen erstellen, indizieren und slicen
  • List Methods — vollständige Referenz für append(), extend(), remove() und mehr
  • Loop Lists — über Listenelemente mit for und while iterieren
  • Copy Lists — flaches vs. tiefes Kopieren
  • List Comprehension — Listen in einem Ausdruck erstellen und transformieren
  • Concatenate Strings — weitere Möglichkeiten, Strings aus Teilen zu erstellen

Übungen

Übung
Which of the following ways can be used to join two lists in Python?
Which of the following ways can be used to join two lists in Python?
Was this page helpful?