# Hoe strings omzetten naar lijsten in Python

In Python zijn lijsten veranderlijke objecten, terwijl strings onveranderlijk zijn. Door **een string om te zetten in een lijst**, kun je afzonderlijke tekens of delen van de string wijzigen, toevoegen of verwijderen.

## Op welke verschillende manieren kunnen Python-strings worden omgezet naar lijsten?

Wanneer u een tekenreeks omzet in een lijst, wijzigt u de gegevensstructuur zodat deze **lijstbewerkingen** kan ondersteunen. Dit vergroot op zijn beurt het aantal beschikbare opties voor gegevensmanipulatie.

Hier zijn enkele van de meest voorkomende methoden om een tekenreeks om te zetten in een lijst:

### `split()`

De Python-methode split splitst een tekenreeks op basis van een specifiek scheidingsteken of patroon in een **lijst met subtekenreeksen**. De algemene syntaxis voor deze methode is:

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

- `string`: Dit is de oorspronkelijke tekenreeks.
- `sep` (optioneel): Dit is het scheidingsteken waar de tekenreeks moet worden gesplitst. Als er geen scheidingsteken wordt opgegeven, splitst de methode de tekenreeks standaard op spaties.
- `maxsplit` (optioneel): `maxsplit` definieert het maximale aantal splitsingen dat moet worden uitgevoerd. Als u wilt dat Python alle mogelijke splitsingen uitvoert, kunt u de parameter instellen op -1 of leeg laten.

Een voorbeeld:

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

leidt tot de uitvoer:

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

f-strings zijn een Python-stringformaat dat elke uitdrukking als plaatshouder tussen accolades accepteert. Met dit formaat kunnen we het resultaat van de functie `split()` combineren met de string `"List of colors = "`.

### `list()`

De Python-functie list() wordt gebruikt om verschillende gegevensstructuren, waaronder strings, om te zetten in lijsten. Als u een string als argument doorgeeft aan de `list()`, **wordt elke letter of elk teken van de string als een afzonderlijk element opgeslagen** in de resulterende lijst.

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

### Lijstbegrip

Lijstbegrip is een compacte manier om lijsten te maken door **lussen en voorwaarden** in één regel te combineren.

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

In dit voorbeeld beginnen we met de tekenreeks `"Hello World"` en maken we een lijst die wordt opgeslagen in `char_list`. De lijstcomprehension doorloopt elke letter (`char`) in de tekenreeks `text` en voegt deze als een enkel element toe aan de lijst `char_list`.

### String slicing

String slicing is een andere methode om Python-strings om te zetten in lijsten. Het haalt **delen van een string** (substrings) eruit en slaat ze op als elementen in een lijst.

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

- `start`: Dit is de index waar het knippen begint. De substring begint met het teken op deze positie.
- `stop`: Dit is de index waar het knippen eindigt. De reeks omvat alle tekens tot en met, maar exclusief het teken op deze positie.
- `step` (optioneel): Dit is de afstand tussen elk geselecteerd teken wanneer het knippen wordt uitgevoerd. Het geeft aan hoeveel tekens er tussen elk geselecteerd teken moeten worden overgeslagen.

`convert(string)` is een **door de gebruiker gedefinieerde functie** die een tekenreeks omzet in een lijst met tekens. Wanneer de uitdrukking `list1[:0] = string` wordt uitgevoerd, worden de afzonderlijke tekens van de tekenreeks ingevoegd in de lege lijst `list1`.

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

### `re.findall()`

Je kunt de functie `re.findall()` gebruiken om Python-strings om te zetten in lijsten door **alle voorkomens van een reguliere expressie** in een string te lokaliseren en ze als een lijst op te halen.

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

De reguliere expressie `r'\d+'` zoekt naar een of meer opeenvolgende cijfers in een tekst en geeft deze weer als afzonderlijke elementen in een lijst.

### `enumerate()`

De functie `enumerate()` in Python haalt zowel de index als de waarde van elk element in een iterabele gegevensstructuur op. Als u wilt dat de lijst alleen de waarden bevat (d.w.z. de tekens van de tekenreeks), kunt u `enumerate()` combineren met een lijstcomprehension:

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

### JSON

JSON is een module die wordt gebruikt om JSON-gegevens te lezen en te schrijven en Python-gegevensstructuren om te zetten naar JSON-formaat en vice versa. Als u Python-strings wilt omzetten naar lijsten met behulp van de JSON-module, kunt u dit doen door een **string** te parseren **naar een Python-object**.

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

De functie `json.loads()` analyseert de JSON-string en zet deze om in een overeenkomstig Python-object, in dit geval een lijst.

### `ast.literal`

Met de module `ast` (Abstract Syntax Trees) kunt u een tekenreeks evalueren in een Python-gegevensstructuur, waarbij de tekenreeks wordt geïnterpreteerd als een Python-literaal. Als uw tekenreeks een geldig Python-literaalformaat heeft (zoals een lijst, woordenboek, getal, enz.), kunt u deze veilig converteren naar het overeenkomstige Python-object met behulp van `ast.literal_eval()`.

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

Lees meer over hoe [het omzetten van een string naar datetime werkt in Python](https://www.ionos.com/nl-be/digitalguide/websites/webontwikkeling/converteer-strings-naar-datum-en-tijd-in-python/) in onze digitale gids.


This is a markdown version of: [https://www.ionos.com/nl-be/digitalguide/websites/webontwikkeling/python-strings-omzetten-naar-lijsten/](https://www.ionos.com/nl-be/digitalguide/websites/webontwikkeling/python-strings-omzetten-naar-lijsten/) for AI/LLM consumption.