Konvertieren die Liste in einen durch Kommas getrennten String in Python

Manav Narula 12 April 2022
  1. Verwenden Sie die Funktion join(), um eine Liste in eine kommagetrennte Zeichenfolge in Python umzuwandeln
  2. Verwenden Sie das StringIO-Modul, um eine Liste in einen kommagetrennten String in Python umzuwandeln
Konvertieren die Liste in einen durch Kommas getrennten String in Python

Wir können eine Liste verwenden, um verschiedene Elemente unter einem gemeinsamen Namen zu speichern. Ein String ist eine Sammlung von Zeichen.

In diesem Tutorial konvertieren wir eine Liste in einen durch Kommas getrennten String.

Verwenden Sie die Funktion join(), um eine Liste in eine kommagetrennte Zeichenfolge in Python umzuwandeln

Die Funktion join() kombiniert die Elemente einer Iterable und gibt einen String zurück. Wir müssen das Zeichen angeben, das als Trennzeichen für die Elemente in der Zeichenfolge verwendet wird.

Um eine durch Kommas getrennte Zeichenfolge zu erstellen, verwenden wir das Komma als Trennzeichen.

Siehe Code unten.

lst = ["c", "e", "a", "q"]
s = ",".join(lst)
print(s)

Ausgabe:

c,e,a,q

Die obige Methode ist nur auf eine Liste beschränkt, die Zeichenketten enthält.

Wir können das Listenverständnis und die Funktion str() verwenden, um mit einer Liste zu arbeiten, die ganze Zahlen oder andere Elemente enthält. Mit dem Listenverständnis können wir die Elemente einfach in einer einzigen Zeile mit der for-Schleife durchlaufen und jedes Element mit der str()-Funktion in einen String umwandeln.

Wir implementieren dies im folgenden Code.

lst = [8, 9, 4, 1]
s = ",".join([str(i) for i in lst])
print(s)

Ausgabe:

8,9,4,1

Wir können das Listenverständnis auch eliminieren, indem wir die Funktion map() verwenden. Mit der Funktion map() können alle Elemente der Liste in einen String umgewandelt werden, indem auf jedes Element die Funktion str() angewendet wird.

Beispielsweise,

lst = [8, 9, 4, 1]
s = ",".join(map(str, lst))
print(s)

Ausgabe:

8,9,4,1

Verwenden Sie das StringIO-Modul, um eine Liste in einen kommagetrennten String in Python umzuwandeln

Das StringIO-Objekt ähnelt einem Dateiobjekt, aber im Speicher, um mit Texten zu arbeiten. In Python 2 kann es direkt mit dem Modul StringIO importiert werden. In Python 3 wurde es im Modul io gespeichert.

Mit der Funktion csv.writerow() können wir die Liste als kommagetrennte Zeile für eine CSV-Datei in das StringIO-Objekt schreiben. Dazu müssen wir zuerst ein csv.writer-Objekt instanziieren. Den Inhalt dieses Objekts können wir dann mit der Funktion getvalue() in einem String speichern.

Siehe folgenden Code.

import io
import csv

lst = [8, 9, 4, 1]
s_io = io.StringIO()
writer = csv.writer(s_io)
writer.writerow(lst)
s = s_io.getvalue()
print(s)

Ausgabe:

8,9,4,1

Wir können auch die Funktion print() mit dem Unpack-Operator verwenden. Der Unpack-Operator * entpackt alle Elemente einer Iterable und speichert sie im StringIO-Objekt unter Verwendung des file-Parameters in der print()-Funktion.

Siehe Code unten.

import io

lst = [8, 9, 4, 1]
s_io = io.StringIO()
print(*lst, file=s_io, sep=",", end="")
s = s_io.getvalue()
print(s)

Ausgabe:

8,9,4,1
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Verwandter Artikel - Python List

Verwandter Artikel - Python String