list ·
dict ·
append / extend ·
Slicing ·
Comprehensions ·
Nested Structures
Listen und Dictionaries sind die zentralen Datenstrukturen in Python. Sie ermöglichen das Speichern, Verwalten und Verarbeiten von Daten in geordneten Sequenzen und Schlüssel-Wert-Paaren.
Listen sind veränderbare, geordnete Sequenzen, die beliebige Datentypen enthalten können. Sie sind die vielseitigste Datenstruktur in Python.
| Operation | Beschreibung |
|---|---|
| liste[index] | Zugriff auf Element an Position index (0-basiert) |
| liste[-1] | Letztes Element |
| liste[index] = wert | Element überschreiben |
| len(liste) | Länge der Liste |
| wert in liste | Prüft, ob Wert enthalten ist |
| liste + liste2 | Listen konkatenieren |
| liste * 3 | Liste wiederholen |
Dictionaries speichern Daten in Schlüssel-Wert-Paaren. Sie sind ungeordnet (bis Python 3.7) und erlauben schnellen Zugriff über den Schlüssel.
| Operation | Beschreibung |
|---|---|
| dict[key] | Zugriff auf Wert (KeyError bei Fehlen) |
| dict.get(key, default) | Zugriff mit Default-Wert (kein Fehler) |
| dict[key] = wert | Wert setzen oder neu anlegen |
| del dict[key] | Schlüssel-Wert-Paar löschen |
| dict.keys() | Alle Schlüssel (iterierbar) |
| dict.values() | Alle Werte (iterierbar) |
| dict.items() | Schlüssel-Wert-Paare (iterierbar) |
| key in dict | Prüft, ob Schlüssel existiert |
dict.get(key, default) statt dict[key], wenn Sie nicht sicher sind, ob der Schlüssel existiert – das vermeidet KeyError.
Methoden erweitern die Funktionalität von Listen und Dictionaries – für das Hinzufügen, Entfernen, Suchen und Verwalten von Elementen.
| Methode | Beschreibung |
|---|---|
| append(x) | Fügt x am Ende hinzu |
| extend(iterable) | Fügt alle Elemente von iterable hinzu |
| insert(i, x) | Fügt x an Position i ein |
| remove(x) | Entfernt das erste Vorkommen von x |
| pop([i]) | Entfernt und gibt Element an Position i zurück (standardmäßig letztes) |
| clear() | Entfernt alle Elemente |
| index(x) | Gibt Position des ersten Vorkommens von x zurück |
| count(x) | Zählt Vorkommen von x |
| sort() | Sortiert die Liste (in-place) |
| reverse() | Kehrt die Reihenfolge um |
| Methode | Beschreibung |
|---|---|
| get(key, default) | Gibt Wert zurück oder default |
| update(other) | Aktualisiert mit anderen Schlüssel-Wert-Paaren |
| pop(key, default) | Entfernt und gibt Wert zurück |
| popitem() | Entfernt und gibt letztes Paar zurück |
| clear() | Entfernt alle Einträge |
| copy() | Erstellt eine flache Kopie |
| setdefault(key, default) | Gibt Wert zurück oder setzt default |
pop() entfernt und gibt das Element zurück – das ist nützlich, wenn Sie den Wert noch benötigen. remove(x) sucht nach dem Wert x und entfernt das erste Vorkommen.
Slicing ermöglicht das Extrahieren von Teillisten (auch bei Strings und Tupeln). Die Syntax [start:stop:step] ist flexibel und mächtig.
| Parameter | Beschreibung |
|---|---|
| start | Startindex (inklusive, default 0) |
| stop | Endindex (exklusive, default Ende) |
| step | Schrittweite (default 1), negativ für Rückwärts |
| [:] | Kopie der gesamten Liste |
| [-3:] | Letzte 3 Elemente |
| [:-3] | Alle bis auf die letzten 3 |
liste[:] erstellt eine flache Kopie der gesamten Liste – nützlich, wenn Sie eine unabhängige Kopie benötigen und nicht nur eine Referenz.
Comprehensions ermöglichen die kompakte Erstellung von Listen, Dictionaries, Sets und Generatoren – oft lesbarer und schneller als manuelle Schleifen.
for-Schleifen mit append(). Sie machen den Code zudem kompakter und lesbarer.
Verschachtelte Strukturen erlauben das Speichern komplexer Daten – wie Tabellen (Matrix), Listen von Objekten oder tief geschachtelte Konfigurationen.
dict.get() oder der try/except-Block, um KeyError zu vermeiden.
list
dict
append()
[:]
[...]
[[...]]
list.append(x) ·
dict.get(key, default) ·
[x for x in range(5)]