Python Join List
Python Join List bedeutet das Verketten einer Liste von Strings mit einem bestimmten Trennzeichen, um einen String zu bilden. Manchmal ist es nützlich, wenn man eine Liste in einen String umwandeln muss. Zum Beispiel, um eine Liste von Buchstaben in einen kommagetrennten String umzuwandeln und in einer Datei zu speichern.
Wir können die Python-String-Funktion join() verwenden, um eine Liste von Strings zu verbinden. Diese Funktion nimmt ein iterierbares Objekt als Argument und da eine Liste iterierbar ist, können wir sie damit verwenden. Außerdem sollte die Liste Strings enthalten, wenn man versucht, eine Liste von Integers zu verbinden, erhält man eine Fehlermeldung wie TypeError: sequence item 0: expected str instance, int found. Lassen Sie uns ein kurzes Beispiel anschauen, um eine Liste in Python zu verbinden und einen String zu erstellen.
vowels = ["a", "e", "i", "o", "u"]
vowelsCSV = ",".join(vowels)
print("Vowels are = ", vowelsCSV)
Wenn wir das obige Programm ausführen, wird der folgende Output produziert.
Vowels are = a,e,i,o,u
Python Verbindet Zwei Strings
Wir können auch die join()-Funktion verwenden, um zwei Strings zu verbinden.
message = "Hello ".join("World")
print(message) #prints 'Hello World'
Warum ist die Join()-Funktion in String und nicht in List?
Es stellt sich eine Frage für viele Python-Entwickler, warum die join()-Funktion Teil von String und nicht von List ist. Wäre die folgende Syntax nicht einfacher zu merken und zu verwenden?
vowelsCSV = vowels.join(",")
Es gibt eine beliebte StackOverflow-Frage dazu, hier liste ich die wichtigsten Punkte aus den Diskussionen auf, die für mich völlig Sinn machen.
Der Hauptgrund ist, dass die join()-Funktion mit jedem iterierbaren Objekt verwendet werden kann und das Ergebnis immer ein String ist, daher ist es sinnvoll, diese Funktion in der String-API zu haben, anstatt sie in allen iterierbaren Klassen zu haben.
List mit Mehreren Datentypen Verbinden
Lassen Sie uns ein Programm betrachten, in dem wir versuchen, Listenelemente mit mehreren Datentypen zu verbinden.
names = ['Java', 'Python', 1]
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))
Output:
Dies war nur eine Demonstration, dass eine Liste, die mehrere Datentypen enthält, nicht in einen einzelnen String mit der join()-Funktion kombiniert werden kann. DieListe muss nur String-Werte enthalten.
String Mit Join-Funktion Teilen
Wir können die join()-Funktion auch verwenden, um einen String mit einem bestimmten Trennzeichen zu teilen.
names = 'Python'
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))
Output:
Dies zeigt, dass wenn ein String als Argument an die join()-Funktion übergeben wird, er anhand der Zeichen mit dem angegebenen Trennzeichen geteilt wird.
Verwendung der Split()-Funktion
Neben der Teilung mit der join()-Funktion kann die split()-Funktion auch verwendet werden, um einen String zu teilen, was fast genauso funktioniert wie die join()-Funktion. Lassen Sie uns einen Code-Ausschnitt betrachten:
names = ['Java', 'Python', 'Go']
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))
split = single_str.split(delimiter)
print('List: {0}'.format(split))
Output:
Wir haben denselben Trenner verwendet, um den String wieder in die ursprüngliche Liste zu teilen.
Teilen Nur N-mal
Die split()-Funktion, die wir im letzten Beispiel demonstriert haben, nimmt auch ein optionales zweites Argument, welches die Anzahl der Male angibt, wie oft die Teilungsoperation durchgeführt werden soll. Hier ist ein Beispielprogramm, um dessen Nutzung zu demonstrieren:
names = ['Java', 'Python', 'Go']
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))
split = single_str.split(delimiter, 1)
print('List: {0}'.format(split))
Output:
Diesmal wurde die Teilungsoperation nur einmal durchgeführt, wie wir im Parameter der split()-Funktion angegeben haben. Das ist alles zum Thema, wie man eine Liste verbindet, um einen String in Python zu erstellen, und die Verwendung der split()-Funktion, um die ursprüngliche Liste wieder zu erhalten.