Python String to List: Konvertierung von Strings zu Listen

Listen gehören zu den veränderbaren Objekten, während Strings in Python unveränderlich sind. Durch die Umwandlung eines Strings in eine Liste können Sie einzelne Zeichen oder Unterabschnitte des Strings modifizieren, hinzufügen oder entfernen.

Webhosting
Top-Hosting für Ihre Website
  • Flexibel: Hosting, das jedem Website-Traffic standhält
  • Verlässlich: Inklusive 24/7-Support und persönlicher Beratung
  • Sicher: Kostenloses SSL-Zertifikat, DDoS-Schutz und Backups

Python String to List: Methoden zur Konvertierung

Python String to List bezeichnet die Konvertierung eines Strings in eine Liste. Dabei wird der String in eine Datenstruktur gewandelt, die Listenoperationen unterstützt und somit eine vielfältige Datenmanipulation ermöglicht.

Hier sind einige der häufigsten Methoden, um einen String in eine Liste zu konvertieren:

split()

Die Methode Python split zerlegt einen String in eine Liste von Substrings, basierend auf einem bestimmten Trennzeichen oder Muster. Die allgemeine Syntax lautet:

string.split(sep=None, maxsplit=-1)
python
  • string: Dies ist der ursprüngliche String.
  • sep (optional): Das ist das Trennzeichen, an dem der String aufgeteilt werden soll. Wenn kein Trennzeichen angegeben wird, spaltet die Methode den String an Leerzeichen.
  • maxsplit (optional): maxsplit definiert die maximale Anzahl von Aufteilungen, die vorgenommen werden sollen. Wenn es nicht angegeben oder auf -1 gesetzt ist, werden alle möglichen Aufteilungen durchgeführt.

Das Beispiel

text = "blue,green,yellow,red"
print(f"List of colors = {text.split(',')}")
python

führt demzufolge zur Ausgabe:

List of colors = ['blue', 'green', 'yellow', 'red']
python

f-Strings sind eine Python-String-Format-Methode und akzeptieren als Platzhalter in geschweiften Klammern einen beliebigen Ausdruck. Daher können wir das Ergebnis der split()-Funktion mit dem String "List of colors = " verbinden.

list()

Die Funktion Python list wird verwendet, um verschiedene Datenstrukturen, einschließlich Strings, in Listen umzuwandeln. Wenn Sie einen String als Argument an die list()-Funktion übergeben, wird jeder Buchstabe oder jedes Zeichen des Strings als separates Element in der resultierenden Liste gespeichert.

text = "Hello"
char_list = list(text)
print(char_list)
python

List Comprehension

List Comprehension ist eine kompakte Möglichkeit, Listen zu erzeugen, indem sie in einer einzigen Zeile Schleifen und Bedingungen kombiniert.

text = "Hello World"
char_list = [char for char in text]
print(char_list)
# Output: ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
python

Hier benutzen wir den String "Hello World", aus dem wir eine Liste erstellen und in char_list speichern. Die List Comprehension durchläuft jeden Buchstaben char im String text und fügt ihn als einzelnes Element zur Liste char_list hinzu.

String Slicing

String Slicing ist eine weitere Python-String-to-List-Methode, die Teilsequenzen eines Strings extrahiert und diese als Elemente in einer Liste speichert.

substring_list = string[start:stop:step]
python
  • start: Der Index, an dem das Slicing beginnt; der Teil des Strings beginnt beim Zeichen an dieser Position.
  • stop: Der Index, an dem das Slicing endet; die Sequenz endet vor dem Zeichen an dieser Position.
  • step (optional): Der Schritt oder die Schrittweite, mit der das Slicing durchgeführt wird; dies gibt an, wie viele Zeichen zwischen jedem ausgewählten Zeichen ausgelassen werden.
def convert(string):
    list1 = []
    list1[:0] = string
    return list1
str1 = "xyz"
print(convert(str1))
# Output: ['x', 'y', 'z']
python

convert(string) ist eine benutzerdefinierte Funktion, die einen String in eine Liste von Zeichen umwandelt. Wenn der Ausdruck list1[:0] = string ausgeführt wird, werden die einzelnen Zeichen des Strings in die leere Liste list1 eingefügt.

re.findall()

Die Funktion re.findall() können Sie als Python-String-to-List-Methode einsetzen, um alle Übereinstimmungen eines regulären Ausdrucks in einem String zu finden und diese als Liste zurückzugeben.

import re
text = "123 and 456 are numbers."
numbers_list = re.findall(r'\d+', text)
print(numbers_list)
# Output: ['123', '456']
python

Der reguläre Ausdruck r'\d+' sucht nach einer oder mehreren aufeinanderfolgenden Ziffern im Text und gibt sie als separate Elemente in einer Liste zurück.

enumerate()

enumerate() ist eine eingebaute Funktion in Python, die dazu dient, sowohl den Index als auch den Wert jedes Elements in einer iterierbaren Datenstruktur zu erhalten. Wenn Sie möchten, dass die Liste nur die Werte (also die Zeichen des Strings) enthält, können Sie enumerate() in Verbindung mit einer List Comprehension anwenden:

text = "Python"
char_list = [char for index, char in enumerate(text)]
print(char_list)
# Output: ['P', 'y', 't', 'h', 'o', 'n']
python

JSON

JSON ist ein Modul, das zum Lesen und Schreiben von JSON-Daten sowie zur Konvertierung von Python-Datenstrukturen in das JSON-Format und umgekehrt benutzt wird. Für die Funktion Python String to List bietet das JSON-Modul die Möglichkeit, einen String in ein entsprechendes Python-Objekt zu parsen.

import json
json_string = '[1, 2, 3, 4, 5]'
list_from_json = json.loads(json_string)
print(list_from_json)
# Output: [1, 2, 3, 4, 5]
python

Die Funktion json.loads() analysiert den JSON-String und konvertiert ihn in ein entsprechendes Python-Objekt, in diesem Fall in eine Liste.

ast.literal

Das Modul ast (Abstract Syntax Trees) ermöglicht Ihnen, einen String in eine Python-Datenstruktur zu evaluieren, wobei der String als ein Python-Literal interpretiert wird. Wenn Sie einen String haben, der in einem gültigen Python-Literalformat vorliegt (z. B. eine Liste, ein Dictionary, eine Zahl etc.), können Sie ast.literal_eval() verwenden, um diesen String sicher in das entsprechende Python-Objekt umzuwandeln.

import ast
string = "[1, 2, 3, 4, 5]"
my_list = ast.literal_eval(string)
print(my_list)
# Output: [1, 2, 3, 4, 5]
python

In unserem Ratgeber erklären wir Ihnen außerdem, wie die Konvertierung „String to Datetime“ in Python funktioniert.

Page top