HOWTO · Python
Hängen Sie in Python einen String an einen anderen an
Es gibt zwei Hauptmethoden, mit denen in Python eine Zeichenkette an eine andere angehängt werden kann: den Operator + und die Funktion str.join().
Auf dieser Seite
Um in Python eine Zeichenkette an eine andere anzuhängen, verwenden Sie den Operator +. Mit str.join() verbinden Sie ein Iterable aus Zeichenketten und legen dabei ein Trennzeichen fest. Beide Methoden erzeugen eine neue Zeichenkette. Welche besser passt, hängt davon ab, ob Sie nur wenige Werte oder eine Sammlung verbinden.
Zeichenketten mit dem Operator + verketten
Der Operator + verkettet Zeichenketten von links nach rechts und gibt eine neue Zeichenkette zurück. Fügen Sie ein Leerzeichen oder ein anderes Trennzeichen ausdrücklich ein, wenn der zusammengesetzte Text eines benötigt; beim Verketten werden nicht automatisch Leerzeichen ergänzt.
Führen Sie dieses Beispiel aus:
Der Code und die angezeigten Bezeichnungen oder Ausgaben in diesem Abschnitt bleiben auf Englisch.
first = "Hello"
second = "World"
combined = first + " " + second
print(combined)
Hello World
Das Leerzeichen im Ausdruck trennt die beiden Werte, und print() gibt die resultierende Zeichenkette aus. Beim Aktualisieren einer Variablen können Sie auch first += second schreiben. Dadurch wird first an das Verkettungsergebnis gebunden; die ursprüngliche Zeichenkette wird nicht direkt geändert, denn Zeichenketten in Python sind unveränderlich.
Bei zwei oder wenigen Werten bleibt der Ausdruck mit + direkt und gut lesbar. Wenn Sie in einer Schleife durch wiederholtes Verketten ein langes Ergebnis aufbauen, entsteht bei jeder Operation eine weitere Zeichenkette. Sammeln Sie die Teile und verbinden Sie sie einmal, wenn das den Code verständlicher macht – besonders, wenn die Teile bereits aus einem Iterable stammen.
Zeichenketten mit str.join() verbinden
str.join() wird auf der Zeichenkette aufgerufen, die als Trennzeichen dient. Das einzelne Argument ist ein Iterable mit Zeichenketten. Die Methode setzt das Trennzeichen zwischen jeweils benachbarte Elemente. Zum Beispiel verbindet " ".join(["Hello", "World", "from", "Python"]) vier Wörter mit Leerzeichen. Ein anderes Trennzeichen ändert, was zwischen den Wörtern steht: "-".join(["red", "green", "blue"]) verwendet Bindestriche, während "".join(["Py", "thon"]) kein Trennzeichen einfügt.
Jedes an join() übergebene Element muss bereits eine Zeichenkette sein. Enthalten die Werte Zahlen oder andere Typen, wandeln Sie jedes Element zuerst um, etwa mit str(value), oder formatieren Sie die Werte beim Aufbau der Sammlung. Eine Zeichenkette ist selbst iterierbar. Wenn Sie ein einzelnes Wort direkt an join() übergeben, wird es daher als Folge einzelner Zeichen behandelt. Übergeben Sie eine Sammlung vollständiger Zeichenketten, wenn Sie ganze Zeichenketten verbinden möchten.
Zwischen + und str.join() wählen
Verwenden Sie + für eine kleine, festgelegte Anzahl von Zeichenketten, etwa um einen Namen an eine Begrüßung anzuhängen. So sind die einzelnen Teile und ihre Reihenfolge leicht zu erkennen. Verwenden Sie str.join(), wenn die Werte bereits in einer Liste oder einem anderen Iterable stehen oder wenn zwischen vielen Teilen ein Trennzeichen stehen soll. Ein leeres Trennzeichen eignet sich, wenn die Teile direkt aneinander anschließen sollen.
Keine der beiden Methoden ist grundsätzlich immer schneller. Wählen Sie die Form, die zu Ihren Daten passt und das gewünschte Trennzeichen deutlich macht. Wenn Sie Werte verbinden, die keine Zeichenketten sind, wandeln Sie sie vor dem Verbinden bewusst um oder formatieren Sie sie. Für die üblichen Fälle gilt: + verbindet Zeichenkettenausdrücke, während str.join() ein Iterable aus Zeichenketten mit einem Trennzeichen verbindet.