Python join(): Ein vollständiger Leitfaden zum Zusammenführen von Listen und zu Python String Join
In Python können Sie eine Liste von Strings mit der Methode join() zu einem einzigen String zusammenfügen,
indem Sie zwischen den einzelnen Elementen ein bestimmtes Trennzeichen (etwa ein Komma oder ein Leerzeichen) einfügen. Diese Methode ist nützlich, wenn Sie eine Liste, zum Beispiel aus Buchstaben, als einen einzigen, durch Kommas getrennten String speichern müssen, etwa beim Schreiben in eine Datei.
Dieser Leitfaden zeigt, wie Sie zwei Listen mit dem Operator + oder mit itertools.chain() zusammenführen und wie Sie Listen mit Sets kombinieren. Außerdem wird kurz erläutert, wie Sie mit strip() überflüssige Leerzeichen am Anfang oder Ende eines Strings entfernen.
Wie fügt man in Python eine Liste zu einem String zusammen? (Python Join List)
In Python können Sie mit der Methode join() die Elemente einer Liste zu einem einzigen String zusammenfügen. Da eine Liste ein Iterable ist, funktioniert sie problemlos mit dieser Funktion. Alle Elemente der Liste müssen jedoch Strings sein. Enthält die Liste Integer oder andere Typen, löst Python einen TypeError aus.
Syntax der Python-Methode join
Die Python-Methode join() für Listen dient dazu, eine Liste von Strings zu einem einzigen String zusammenzufügen, wobei zwischen den einzelnen Elementen ein festgelegtes Trennzeichen eingefügt wird.
separator.join(iterable)
Parameter:
- separator: Ein String, den Sie zwischen den einzelnen Elementen einfügen möchten (z. B. ein Komma ",", ein Leerzeichen " ", ein Bindestrich "-").
- iterable: Eine Folge von Strings, etwa eine Liste (["a", "b", "c"]), ein Tupel oder ein anderes Iterable, das ausschließlich String-Elemente enthält.
Rückgabewert:
- Die Methode gibt einen einzigen String zurück. Die Elemente der iterierbaren Liste werden mit dem Trennzeichen verbunden.
Beispiel Nr. 1: Python String Join
Hier ist ein einfaches Beispiel, das zeigt, wie Sie mit der Python-Methode join eine Liste von Strings in einen einzigen String umwandeln. Im folgenden Beispiel verwenden wir eine Liste von Früchten:
fruits = ["apple", "banana", "cherry", "mango"]
fruit_string = " , ".join(fruits)
print("Fruits available:", fruit_string)
Ausgabe:

Beispiel Nr. 2: Integer verbinden, indem sie in Strings umgewandelt werden
Um Fehler beim Verbinden einer Liste mit Integern zu vermeiden, müssen Sie jede Zahl zunächst in einen String umwandeln. So geht das:
numbers = [10, 20, 30, 40]
# Convert numbers to strings
string_numbers = [str(num) for num in numbers]
result = " - ".join(string_numbers)
print("Combined numbers:", result)
Ausgabe:
![]()
Die obigen Beispiele zeigen, wie Sie die String-Methode join() sowohl mit normalen String-Listen als auch mit Zahlen (nach der Umwandlung in Strings) verwenden.
Strings mit join() in Python verbinden (Python String Join)
Die Python-String-Methode join() lässt sich auch mit Strings verwenden, wird jedoch häufiger mit Listen eingesetzt. Hier ist ein einfaches Beispiel:
message = "Hello ".join("World")
print(message)
Ausgabe:
![]()
Hinweis: Dies liefert möglicherweise nicht das erwartete Ergebnis, da "World" als Folge von Zeichen behandelt wird. Daher wird "Hello " zwischen jedes Zeichen von "World" eingefügt.
Warum ist join() eine String-Methode und keine Listen-Methode?
Viele Entwickler fragen sich, warum die Python-Methode join zur String-Klasse gehört und nicht eine Methode von Listen ist. Wäre es nicht intuitiver, etwa Folgendes zu schreiben:
fruit_string = fruits.join(",")
Für diese Designentscheidung gibt es jedoch einen guten Grund:
- Die Methode join() erzeugt einen neuen String, indem sie das Trennzeichen zwischen die Elemente eines Iterables einfügt.
- Da das Ergebnis immer ein String ist, gehört die Methode logischerweise zum String-Typ und nicht zur Liste oder zu anderen iterierbaren Typen.
- Dadurch funktioniert join() nicht nur mit Listen, sondern mit jedem Iterable (z. B. Tupeln, Sets), das Strings enthält.
Indem die Methode in der Klasse str bleibt, muss Python nicht allen iterierbaren Typen ähnliche Methoden hinzufügen und stellt ein einheitliches Verhalten über verschiedene Datentypen hinweg sicher.
Eine Liste mit unterschiedlichen Datentypen in Python verbinden
Angenommen, Sie haben eine Liste, die sowohl Strings als auch Zahlen enthält:
items = ["Car", "Bike", 2025]
separator = " | "
combined = separator.join(items)
print("Combined:", combined)
Ausgabe:

Dies führt zu einem Fehler, da join() nur mit Strings funktioniert und die Zahl 2025 ein Integer ist.
Die Methode join() setzt voraus, dass alle Elemente der Liste Strings sind. Gibt es auch nur ein Element, das kein String ist (etwa ein Integer oder Float), löst Python einen TypeError aus.
Um das zu beheben, wandeln Sie alle Elemente in Strings um, bevor Sie join() verwenden:
items = ["Car", "Bike", 2025]
# Convert each item to a string
items_str = [str(item) for item in items]
combined = " | ".join(items_str)
print("Combined:", combined)
Ausgabe:

Mit join() Trennzeichen zwischen Zeichen einfügen
Obwohl join() in der Regel zum Zusammenführen einer Liste von Strings verwendet wird, können Sie die Methode auch mit einem normalen String einsetzen. Dabei wird das gewählte Trennzeichen zwischen die einzelnen Zeichen des Strings gesetzt.
Beispiel:
word = "Tiger"
separator = "-"
result = separator.join(word)
print("Joined string:", result)
Ausgabe:

Hier fügt die Methode join() zwischen die einzelnen Zeichen des Wortes „Tiger“ einen Bindestrich ein.
Wie teilt man in Python mit der Funktion split() einen String in eine Liste auf?
Für den umgekehrten Vorgang bietet Python die Methode split() , die einen String anhand desselben Trennzeichens wieder in eine Liste zerlegt.
Beispiel:
languages = ["Ruby", "C++", "Swift"]
delimiter = " / "
combined = delimiter.join(languages)
print("Combined string:", combined)
# Now split the string back into a list
split_list = combined.split(delimiter)
print("Split list:", split_list)
Ausgabe:

Einen String in Python höchstens N-mal aufteilen
Mit der Methode split() in Python können Sie einen String nicht nur anhand eines bestimmten Trennzeichens aufteilen, sondern durch Übergabe eines zweiten Arguments auch steuern, wie oft die Aufteilung erfolgen soll.
Hier ein Beispiel:
tools = ["Hammer", "Screwdriver", "Wrench"]
separator = " | "
combined_str = separator.join(tools)
print("Combined string:", combined_str)
# Split the string only once
partial_split = combined_str.split(separator, 1)
print("Split result:", partial_split)
Ausgabe:

Praktische Anwendungsfälle von join() und itertools.chain()
1. Strings mit join() formatieren
Wenn Sie eine Liste von Wörtern haben und daraus einen Satz oder einen strukturierten String bilden möchten, ist join() die ideale Methode. Sie eignet sich zum Erstellen gut lesbarer Ausgaben wie CSV-Zeilen, Nachrichten oder Logeinträge.
Beispiel:
parts = ["Data", "Science", "Rocks"]
sentence = " ".join(parts)
print(sentence)
Ausgabe:

2. Große Listen mit itertools.chain() zusammenführen
Wenn Sie mit großen Listen arbeiten und diese effizient zusammenführen möchten, ohne zusätzlichen Speicher zu belegen, ist itertools.chain() eine hervorragende Lösung. Die Funktion verarbeitet jedes Element bei Bedarf und vermeidet so, dass sofort eine neue kombinierte Liste erstellt werden muss.
Beispiel:
from itertools import chain
group1 = [10, 20, 30]
group2 = [40, 50, 60]
merged = list(chain(group1, group2))
print(merged)
Ausgabe:

Leistungsvergleich: join(), Operator + und itertools.chain()
Bei der Arbeit mit Listen oder Strings in Python kann die Wahl der passenden Methode zum Kombinieren sowohl die Geschwindigkeit als auch den Speicherverbrauch erheblich beeinflussen. Im Folgenden sehen Sie, wie sich join(), der Operator + und itertools.chain() verhalten:
Vergleichstabelle: join(), Operator + und itertools.chain()
|
Methode |
Funktion |
Effizienz |
Bester Anwendungsfall |
|
join() |
Fügt eine Liste von Strings mit einem gewählten Trennzeichen zu einem String zusammen. |
Schnell und speichereffizient bei Strings. |
Ideal zum Erstellen formatierter Strings wie Sätze oder CSV-Daten. |
|
Operator + |
Verbindet Listen oder Strings, indem bei jedem Schritt ein neues Objekt erzeugt wird. |
Bei großen Datenmengen langsamer, da wiederholt kopiert wird. |
Gut geeignet für kleine, einfache Listen oder String-Kombinationen. |
|
itertools.chain() |
Verknüpft mehrere Iterables zu einem, ohne zusätzliche Listen zu erstellen. |
Hohe Leistung bei großen Datensätzen. |
Am besten geeignet, um viele große Listen oder Sequenzen gemeinsam zu verarbeiten. |
Listen mit Dictionaries oder Sets in Python kombinieren
Wenn Sie mit verschiedenen Datentypen wie Listen, Dictionaries und Sets arbeiten, müssen Sie für deren Kombination verstehen, wie sich jede Struktur verhält:
- Listen sind geordnete Sequenzen.
- Dictionaries speichern Schlüssel-Wert-Paare.
- Sets sind ungeordnete Sammlungen eindeutiger Elemente.
Eine Liste mit einem Dictionary zusammenführen
Um eine Liste mit einem Dictionary zu kombinieren, verbinden Sie die Liste in der Regel entweder mit den Schlüsseln oder den Werten des Dictionarys, nicht mit dem Dictionary selbst.
Beispiel:
nums = [10, 20, 30]
info = {'x': 100, 'y': 200}
# Combine list with dictionary keys
result_keys = nums + list(info.keys())
print(result_keys)
# Combine list with dictionary values
result_values = nums + list(info.values())
print(result_values)
Hier wandeln wir Teile des Dictionarys in Listen um, damit sie mit + mit der ursprünglichen Liste zusammengeführt werden können.
Eine Liste mit einem Set kombinieren
Da Sets ungeordnet sind und nur eindeutige Elemente enthalten, müssen sie vor dem Zusammenführen in Listen umgewandelt werden.
Beispiel:
colors = ['red', 'blue']
extra_colors = {'green', 'yellow'}
merged = colors + list(extra_colors)
print(merged)
Wichtiger Hinweis: Die Reihenfolge der Set-Elemente kann variieren, da Sets keine Reihenfolge beibehalten.
Fazit
In Python gibt es verschiedene Methoden, um Datenstrukturen effizient zu kombinieren und zu verwalten. Die Python-String-Methode join() ist ideal, um String-Listen zu einem einzigen String zusammenzuführen, während split() dabei hilft, Strings wieder in Listen zu zerlegen. Der Operator + eignet sich für das Verketten kleinerer Listen oder Strings, kann bei größeren Datensätzen jedoch langsamer werden.
Für eine bessere Leistung bei großen oder mehreren Iterables ist itertools.chain() die bevorzugte Wahl. Beim Zusammenführen von Listen mit Sets oder Dictionaries ist es wichtig, diese zunächst in Listen umzuwandeln. Die Wahl der richtigen Methode sorgt für saubereren, schnelleren und zuverlässigeren Code.
Erleben Sie bei BlueVPS die Leistung dedizierter Ressourcen mit der Flexibilität der Cloud. Die zuverlässige, leistungsstarke VPS-Umgebung ist einfach, skalierbar und vollständig anpassbar, um genau Ihre Anforderungen zu erfüllen. Mit BlueVPS profitieren Sie von unbegrenztem Traffic, voller Kontrolle und nahtloser Verfügbarkeit, ideal für Unternehmen und Entwickler, die Stabilität, Geschwindigkeit und Freiheit in einer leistungsstarken Hosting-Lösung suchen.
Blog