String in Python auflisten lassen

Muhammad Maisam Abbas 30 Januar 2023
  1. String mit der Funktion str.split() in Python in eine Liste zerlegen
  2. String mit der Funktion str.strip() in Python in eine Liste zerlegen
  3. Analysieren Sie den String in eine Liste mit der Funktion json.loads() in Python
  4. Parse String in Liste mit der Funktion ast.literal_eval() in Python
String in Python auflisten lassen

In diesem Tutorial lernen wir die Methoden zum Parsen eines Strings in eine Liste in Python kennen.

String mit der Funktion str.split() in Python in eine Liste zerlegen

Wenn wir in einem Szenario eine Stringdarstellung einer Liste wie '[ "A","B","C" , " D"]' haben und diese Darstellung in eine tatsächliche Liste von Strings umwandeln möchten, können wir Verwenden Sie die Funktion str.split(), um den String anhand jedes , aufzuteilen. Die Funktion str.split() nimmt ein Trennzeichen/Trennzeichen als Eingabeparameter, teilt den aufrufenden String anhand des Trennzeichens auf und gibt eine Liste von TeilZeichenketten zurück. Das folgende Codebeispiel zeigt uns, wie man eine String-Darstellung einer Liste mit der Funktion str.split() in eine tatsächliche Liste umwandelt.

stringlist = '[ "A","B","C" , " D"]'
print(stringlist.split(","))

Ausgabe:

['[ "A"', '"B"', '"C" ', ' " D"]']

Wir haben den String stringlist in eine Liste umgewandelt, indem wir ihn basierend auf , mit der Funktion stringlist.split(",") aufgeteilt haben. Wie aus der Ausgabe hervorgeht, weist dieser Ansatz mehrere Probleme auf und entspricht nicht richtig unseren Anforderungen.

String mit der Funktion str.strip() in Python in eine Liste zerlegen

Um einen solchen String weiter in eine Liste umzuwandeln, können wir die Funktion str.strip() verwenden. Diese Funktion str.strip() nimmt auch das Trennzeichen/Trennzeichen als Eingabeparameter, entfernt die aufrufende Zeichenkette basierend auf dem Trennzeichen und gibt eine Liste mit viel saubereren TeilZeichenketten zurück. Der folgende Beispielcode zeigt uns, wie man eine String-Darstellung einer Liste mit der Funktion str.strip() in eine tatsächliche Liste umwandelt.

stringlist = '[ "A","B","C" , " D"]'
print(stringlist.strip(","))

Ausgabe:

[ "A","B","C" , " D"]

Wir haben den String stringlist in eine Liste umgewandelt, indem wir ihn auf der Basis von , mit der Funktion stringlist.split(",") aufgeteilt haben. Wir bekommen diesmal eine viel sauberere Liste von Saiten. Der einzige Nachteil dieses Ansatzes besteht darin, dass es einige unerwünschte Leerzeichen wie das Leerzeichen im vierten Element der Liste gibt.

Analysieren Sie den String in eine Liste mit der Funktion json.loads() in Python

Für unser spezielles Problem können wir auch das Modul json verwenden. Die json.loads()-Funktion nimmt ein JSON-Objekt als Parameter, deserialisiert das JSON-Objekt und gibt die Ergebnisse in einer Liste zurück. Der JSON-Objektparameter kann in diesem Fall auch ein String sein. Der folgende Beispielcode zeigt uns, wie man eine String-Darstellung einer Liste mit der Funktion json.loads() in eine tatsächliche Liste umwandelt.

import json

stringlist = '[ "A","B","C" , " D"]'
print(json.loads(stringlist))

Ausgabe:

['A', 'B', 'C', ' D']

Wir haben unseren String stringlist mit der Funktion json.loads(stringlist) in Python in eine saubere Liste umgewandelt. Der einzige Unterschied zwischen der Funktion json.loads() und unseren bisherigen Ansätzen besteht darin, dass wir hier kein Trenn- oder Trennzeichen angeben müssen. Die Funktion json.loads() bestimmt automatisch das Trennzeichen für uns. Diese Methode enthält auch das Problem unerwünschter Leerzeichen.

Parse String in Liste mit der Funktion ast.literal_eval() in Python

Eine andere Methode zur Lösung unseres spezifischen Problems ist das Modul ast. Die ast.literal_eval()-Funktion nimmt eine String-Darstellung einer Python-Literalstruktur wie Tupel, Wörterbücher, Listen und Mengen an. Wenn wir den String an diese Literalstruktur übergeben, gibt er die Ergebnisse zurück. In unserem Fall haben wir eine String-Darstellung einer Liste. Also nimmt die Funktion ast.literal_eval() diesen String, parst ihn in eine Liste und gibt die Ergebnisse zurück. Der folgende Codeausschnitt zeigt uns, wie man eine String-Darstellung einer Liste mit der Funktion ast.literal_eval() in eine tatsächliche Liste umwandelt.

import ast

stringlist = '[ "A","B","C" , " D"]'
print(ast.literal_eval(stringlist))

Ausgabe:

['A', 'B', 'C', ' D']

Wir haben den String stringlist mit der Funktion ast.literal_eval() in Python in eine saubere Liste umgewandelt. Ähnlich wie beim vorherigen Ansatz müssen wir kein Trennzeichen oder Trennzeichen angeben. Auch ähnlich dem vorherigen Ansatz weist dieses Verfahren das gleiche Problem unerwünschter Leerzeichen auf. Aber diese Leerzeichen können leicht entfernt werden.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Verwandter Artikel - Python String

Verwandter Artikel - Python List