# 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.

## 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](https://www.ionos.at/digitalguide/websites/web-entwicklung/python-split/) zerlegt einen String in eine **Liste von Substrings**, basierend auf einem bestimmten Trennzeichen oder Muster. Die allgemeine Syntax lautet:

```python
string.split(sep=None, maxsplit=-1)
```

- `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

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

führt demzufolge zur Ausgabe:

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

f-Strings sind eine [Python-String-Format](https://www.ionos.at/digitalguide/websites/web-entwicklung/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](https://www.ionos.at/digitalguide/websites/web-entwicklung/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.

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

### List Comprehension

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

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

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.

```python
substring_list = string[start:stop:step]
```

- `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.

```python
def convert(string):
    list1 = []
    list1[:0] = string
    return list1
str1 = "xyz"
print(convert(str1))
# Output: ['x', 'y', 'z']
```

`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.

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

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:

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

### 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**.

```python
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]
```

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.

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


This is a markdown version of: [https://www.ionos.at/digitalguide/websites/web-entwicklung/python-string-to-list/](https://www.ionos.at/digitalguide/websites/web-entwicklung/python-string-to-list/) for AI/LLM consumption.