Python join list bedeutet, eine Liste von Zeichenketten mit einem festgelegten Trennzeichen zu einer Zeichenkette zu verbinden. Manchmal ist es nützlich, wenn Sie eine Liste in eine Zeichenkette umwandeln müssen. Zum Beispiel eine Liste von Buchstaben in eine durch Kommas getrennte Zeichenkette konvertieren, um sie in einer Datei zu speichern.
Python Join List
Wir können die Funktion join() der Python-Zeichenkette verwenden, um eine Liste von Zeichenketten zu verbinden. Diese Funktion akzeptiert ein iterable
als Argument, und eine Liste ist ein Iterable. Die Liste sollte auch Zeichenketten enthalten. Wenn Sie versuchen, eine Liste von Ganzzahlen zu verbinden, erhalten Sie eine Fehlermeldung wie TypeError: sequence item 0: expected str instance, int found
. Schauen wir uns ein kurzes Beispiel an, um eine Liste in Python zu verbinden und eine Zeichenkette zu erstellen.
vowels = ["a", "e", "i", "o", "u"]
vowelsCSV = ",".join(vowels)
print("Vowels are = ", vowelsCSV)
Wenn wir das obige Programm ausführen, wird es die folgende Ausgabe erzeugen.
Vowels are = a,e,i,o,u
Python zwei Zeichenketten verbinden
Mit der join() Funktion können wir auch zwei Zeichenketten verbinden.
message = "Hello ".join("World")
print(message) #prints 'Hello World'
Warum ist die join() Funktion in String und nicht in List?
Eine Frage, die bei vielen Python-Entwicklern aufkommt, ist, warum die join() Funktion Teil des String und nicht der List ist. Wäre untenstehende Syntax nicht einfacher zu merken und zu verwenden?
vowelsCSV = vowels.join(",")
Es gibt eine beliebte Frage auf StackOverflow zu diesem Thema, hier sind die wichtigsten Punkte aus den Diskussionen, die für mich total Sinn ergeben.
Der Hauptgrund ist, dass die join() Funktion mit jedem iterable verwendet werden kann und das Ergebnis immer ein String ist. Daher macht es Sinn, diese Funktion in der String API zu haben, anstatt sie in allen iterable-Klassen zu haben.
Liste mit verschiedenen Datentypen verbinden
Schauen wir uns ein Programm an, in dem wir versuchen, Listenelemente mit verschiedenen Datentypen zu verbinden.
names = ['Java', 'Python', 1]
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))
Lassen Sie uns die Ausgabe für dieses Programm sehen: Dies war nur eine Demonstration, dass eine Liste, die mehrere Datentypen enthält, nicht mit der
join()
-Funktion in einen einzigen String kombiniert werden kann. Die Liste muss nur die String-Werte enthalten.
String mit der 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))
Dies zeigt, dass wenn ein String als Argument an die join()-Funktion übergeben wird, wird er nach Zeichen und mit dem angegebenen Trennzeichen aufgeteilt.
Verwenden der split()-Funktion
Neben dem Aufteilen mit der join()
-Funktion kann auch die split()
-Funktion verwendet werden, um einen String aufzuteilen, was fast genauso funktioniert wie die join()
-Funktion. Schauen wir uns einen Code-Schnipsel an:
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))
Lassen Sie uns die Ausgabe für dieses Programm sehen: Wir haben das gleiche Trennzeichen verwendet, um den String erneut aufzuteilen, um zur ursprünglichen Liste zurückzukehren.
Nur n-mal aufteilen
Die split()
-Funktion, die wir im letzten Beispiel demonstriert haben, akzeptiert auch ein optionales zweites Argument, das angibt, wie oft die Aufteilung durchgeführt werden soll. Hier ist ein Beispielprogramm, um ihre Verwendung 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))
Lassen Sie uns die Ausgabe für dieses Programm sehen: Dieses Mal wurde die Aufteilung nur einmal durchgeführt, wie wir es im Parameter der
split()
-Funktion angegeben haben. Das ist alles zum Verbinden einer Liste, um einen String in Python zu erstellen, und zur Verwendung der split()
-Funktion, um die ursprüngliche Liste wieder zu erhalten.
Source:
https://www.digitalocean.com/community/tutorials/python-join-list