Listen gehören zu den ver­än­der­ba­ren Objekten, während Strings in Python un­ver­än­der­lich sind. Durch die Um­wand­lung eines Strings in eine Liste können Sie einzelne Zeichen oder Un­ter­ab­schnit­te des Strings mo­di­fi­zie­ren, hin­zu­fü­gen oder entfernen.

Web­hos­ting
Das beste Web­hos­ting zum Spit­zen­preis
  • 3x schneller und 60 % günstiger
  • Maximale Ver­füg­bar­keit mit > 99.99 %
  • Nur bei IONOS: Bis zu 500 GB Spei­cher­platz inklusive

Python String to List: Methoden zur Kon­ver­tie­rung

Python String to List be­zeich­net die Kon­ver­tie­rung eines Strings in eine Liste. Dabei wird der String in eine Da­ten­struk­tur gewandelt, die Lis­ten­ope­ra­tio­nen un­ter­stützt und somit eine viel­fäl­ti­ge Da­ten­ma­ni­pu­la­ti­on er­mög­licht.

Hier sind einige der häu­figs­ten Methoden, um einen String in eine Liste zu kon­ver­tie­ren:

split()

Die Methode Python split zerlegt einen String in eine Liste von Sub­strings, basierend auf einem be­stimm­ten Trenn­zei­chen oder Muster. Die all­ge­mei­ne Syntax lautet:

string.split(sep=None, maxsplit=-1)
python
  • string: Dies ist der ur­sprüng­li­che String.
  • sep (optional): Das ist das Trenn­zei­chen, an dem der String auf­ge­teilt werden soll. Wenn kein Trenn­zei­chen angegeben wird, spaltet die Methode den String an Leer­zei­chen.
  • maxsplit (optional): maxsplit definiert die maximale Anzahl von Auf­tei­lun­gen, die vor­ge­nom­men werden sollen. Wenn es nicht angegeben oder auf -1 gesetzt ist, werden alle möglichen Auf­tei­lun­gen durch­ge­führt.

Das Beispiel

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

führt dem­zu­fol­ge zur Ausgabe:

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

f-Strings sind eine Python-String-Format-Methode und ak­zep­tie­ren als Platz­hal­ter in ge­schweif­ten Klammern einen be­lie­bi­gen 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 ver­schie­de­ne Da­ten­struk­tu­ren, ein­schließ­lich Strings, in Listen um­zu­wan­deln. Wenn Sie einen String als Argument an die list()-Funktion übergeben, wird jeder Buchstabe oder jedes Zeichen des Strings als separates Element in der re­sul­tie­ren­den Liste ge­spei­chert.

text = "Hello"
char_list = list(text)
print(char_list)
# Output: ['H', 'e', 'l', 'l', 'o']
python

List Com­pre­hen­si­on

List Com­pre­hen­si­on ist eine kompakte Mög­lich­keit, Listen zu erzeugen, indem sie in einer einzigen Zeile Schleifen und Be­din­gun­gen kom­bi­niert.

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 Com­pre­hen­si­on durch­läuft jeden Buch­sta­ben 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 Teil­se­quen­zen eines Strings ex­tra­hiert 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 Schritt­wei­te, mit der das Slicing durch­ge­führt wird; dies gibt an, wie viele Zeichen zwischen jedem aus­ge­wähl­ten Zeichen aus­ge­las­sen werden.
def convert(string):
    list1 = []
    list1[:0] = string
    return list1
str1 = "xyz"
print(convert(str1))
# Output: ['x', 'y', 'z']
python

convert(string) ist eine be­nut­zer­de­fi­nier­te Funktion, die einen String in eine Liste von Zeichen umwandelt. Wenn der Ausdruck list1[:0] = string aus­ge­fü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 Über­ein­stim­mun­gen eines regulären Ausdrucks in einem String zu finden und diese als Liste zu­rück­zu­ge­ben.

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 auf­ein­an­der­fol­gen­den Ziffern im Text und gibt sie als separate Elemente in einer Liste zurück.

enumerate()

enumerate() ist eine ein­ge­bau­te Funktion in Python, die dazu dient, sowohl den Index als auch den Wert jedes Elements in einer ite­rier­ba­ren Da­ten­struk­tur zu erhalten. Wenn Sie möchten, dass die Liste nur die Werte (also die Zeichen des Strings) enthält, können Sie enumerate() in Ver­bin­dung mit einer List Com­pre­hen­si­on 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 Kon­ver­tie­rung von Python-Da­ten­struk­tu­ren in das JSON-Format und umgekehrt benutzt wird. Für die Funktion Python String to List bietet das JSON-Modul die Mög­lich­keit, einen String in ein ent­spre­chen­des 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() ana­ly­siert den JSON-String und kon­ver­tiert ihn in ein ent­spre­chen­des Python-Objekt, in diesem Fall in eine Liste.

ast.literal

Das Modul ast (Abstract Syntax Trees) er­mög­licht Ihnen, einen String in eine Python-Da­ten­struk­tur zu eva­lu­ie­ren, wobei der String als ein Python-Literal in­ter­pre­tiert wird. Wenn Sie einen String haben, der in einem gültigen Python-Li­teral­for­mat vorliegt (z. B. eine Liste, ein Dic­tion­a­ry, eine Zahl etc.), können Sie ast.literal_eval() verwenden, um diesen String sicher in das ent­spre­chen­de Python-Objekt um­zu­wan­deln.

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