20% off with code ERSTIS26
4 min read 24 Aug 2026

Python Collections: list dict set tuple Überblick

Stell dir vor: Dein Ausbilder schiebt dir eine Excel-Liste mit 500 Artikelnummern rüber und sagt: „Find die doppelten Einträge, das Skript soll bis morgen fertig sein." Spätestens jetzt brauchst du Python Collections - die eingebauten Datenstrukturen, mit denen du viele Werte in einer einzigen Variable speicherst und verarbeitest. In diesem Python Collections Überblick lernst du die vier wichtigsten kennen: `list`, `dict`, `set` und `tuple`. Ob du dich auf die IHK-Abschlussprüfung...

Marcel Schmidtpeter By Marcel Schmidtpeter 24 Aug 2026
Python Collections: list dict set tuple Überblick

Stell dir vor: Dein Ausbilder schiebt dir eine Excel-Liste mit 500 Artikelnummern rüber und sagt: „Find die doppelten Einträge, das Skript soll bis morgen fertig sein." Spätestens jetzt brauchst du Python Collections - die eingebauten Datenstrukturen, mit denen du viele Werte in einer einzigen Variable speicherst und verarbeitest. In diesem Python Collections Überblick lernst du die vier wichtigsten kennen: `list`, `dict`, `set` und `tuple`. Ob du dich auf die IHK-Abschlussprüfung vorbereitest, im Studium deine erste Datenanalyse schreibst oder im Job ein fremdes Skript warten sollst - sie begegnen dir überall.

Python Collections Überblick: Was sind list, dict, set und tuple?

Collections sind Container-Datenstrukturen, die mehrere Werte unter einem Namen bündeln. Python liefert vier davon direkt mit, ohne dass du etwas importieren musst. Sie unterscheiden sich in drei Fragen: Sind sie geordnet? Sind sie veränderbar (englisch: mutable)? Erlauben sie Duplikate?

Collection

Geordnet

Veränderbar

Duplikate

Typischer Einsatz

`list`

Ja

Ja

Ja

Geordnete Sammlung, z. B. Aufgaben

`tuple`

Ja

Nein

Ja

Feste Werte, z. B. Koordinaten

`dict`

Ja (seit Python 3.7)

Ja

Nein (bei Schlüsseln)

Zuordnungen, z. B. Benutzerdaten

`set`

Nein

Ja

Nein

Eindeutige Werte, z. B. Tags

Merke: Die richtige Collection zu wählen entscheidet darüber, ob dein Problem in drei Zeilen oder in dreißig Zeilen lösbar ist.

Alle vier Typen erklärt die offizielle Python-Dokumentation im Detail.

list: Dein digitaler Einkaufszettel

Eine list ist eine geordnete, veränderbare Sammlung von Werten. Stell dir einen Einkaufszettel vor: Du kannst jederzeit etwas streichen oder ergänzen - und die Reihenfolge bleibt erhalten.

python
einkaufsliste = ["Milch", "Brot", "Kaffee"]

einkaufsliste.append("Butter")  # hinten anhaengen
einkaufsliste.remove("Brot")  # Eintrag loeschen
einkaufsliste[0] = "Hafermilch"  # ersten Eintrag ersetzen

print(einkaufsliste)  # ['Hafermilch', 'Kaffee', 'Butter']
print(len(einkaufsliste))  # 3

Achtung, Prüfungsklassiker: Der Index startet bei 0, nicht bei 1. `einkaufsliste[1]` gibt das zweite Element zurück.

tuple: Die verschlossene Verpackung

Ein tuple ist eine geordnete, aber unveränderbare Sammlung. Denk an eine Rechnungsnummer: Einmal vergeben, wird sie nicht mehr angefasst. Tuples schreibst du mit runden Klammern statt eckigen.

python
koordinaten = (52.5200, 13.4050)  # Berlin

print(koordinaten[0])  # 52.52

koordinaten[0] = 48.1351  # TypeError! Tuples sind unveraenderlich

Warum solltest du etwas Unveränderbares nutzen? Weil es deinen Code robuster macht: Kein Kollege kann versehentlich Werte überschreiben. Außerdem sind tuples etwas schneller und dürfen als Schlüssel in dicts dienen - listen dürfen das nicht.

dict: Das Wörterbuch für Zuordnungen

Ein dict (Dictionary, Wörterbuch) speichert Schlüssel-Wert-Paare. Wie ein Telefonbuch: Du suchst nach dem Namen (Schlüssel) und bekommst die Nummer (Wert) - ohne alles der Reihe nach durchzugehen.

python
benutzer = {"name": "Lena", "rolle": "Auszubildende", "jahr": 2025}

print(benutzer["name"])  # Lena
benutzer["abteilung"] = "IT"  # neuen Eintrag hinzufuegen
print(benutzer.get("email", "nicht hinterlegt"))  # sicherer Zugriff

Der Zugriff mit eckigen Klammern wirft einen `KeyError`, wenn der Schlüssel fehlt. Die `get()`-Methode liefert stattdessen einen Standardwert zurück - das rettet dich in vielen Skripten vor Abstürzen.

set: Die Gästeliste ohne Doppelgänger

Ein set ist eine ungeordnete Sammlung, die keine Duplikate erlaubt. Wie eine Gästeliste: Jede Person kommt genau einmal vor, egal wie oft sie sich einträgt.

python
artikel = ["A101", "B202", "A101", "C303", "B202"]

eindeutig = set(artikel)
print(eindeutig)  # {'A101', 'B202', 'C303'}

duplikate = len(artikel) - len(eindeutig)
print(f"{duplikate} Doppeleintraege gefunden")

Zurück zur Aufgabe deines Ausbilders: Das obige Snippet ist bereits die komplette Lösung. Sets bieten außerdem Mengenoperationen wie `vereinigung = menge1 | menge2` oder `schnitt = menge1 & menge2`.

Wann nutzt du welche Collection?

Die Auswahl hängt davon ab, was deine Daten darstellen und wie du sie abfragen willst.

Du brauchst ...

Nimm ...

Warum?

Reihenfolge + Änderungen

`list`

Flexibel und intuitiv

Feste Werte, die sich nie ändern

`tuple`

Schützt vor Fehlern

Suche über einen Schlüssel

`dict`

Extrem schneller Zugriff

Eindeutigkeit

`set`

Entfernt Duplikate automatisch

Merke: `dict` und `set` greifen über Hashing in konstanter Zeit auf Werte zu - bei `list` musst du dagegen eventuell alles durchsuchen.

Hashing bedeutet hier: Python berechnet aus dem Schlüssel eine Art Fingerabdruck und findet den zugehörigen Wert direkt. Wenn du verstehen willst, wie Python durch Sammlungen „iteriert", wirf einen Blick in unseren Artikel zu Iterable und Iterator in Python.

Für Spezialfälle gibt es außerdem das `collections`-Modul mit `defaultdict`, `namedtuple` und Co. - dokumentiert in der offiziellen Modul-Referenz. Für den Anfang reichen dir aber die vier Grundtypen.

Praxisbeispiel: Ein kleines Lagerverwaltungsskript

Hier kombinierst du alle vier Collections in einem realistischen Zusammenhang - etwa für ein Prüfungsprojekt oder dein erstes Arbeitsprojekt:

python
# tuple: feste Produktdaten (SKU, Name)
produkt = ("A101", "USB-Kabel")

# list: Lagerbestand als Chronologie der Bewegungen
bewegungen = []

# dict: Bestand pro SKU
bestand = {}

# set: SKUs mit Mindestbestand-Alarm
alarm = set()


def einlagern(sku, menge):
    bewegungen.append((sku, menge))  # tuple in der Liste speichern
    bestand[sku] = bestand.get(sku, 0) + menge
    if bestand[sku] < 10:
        alarm.add(sku)
    else:
        alarm.discard(sku)  # aus dem Set entfernen, falls vorhanden


einlagern("A101", 5)
einlagern("B202", 20)
einlagern("A101", 15)

print(bestand)  # {'A101': 20, 'B202': 20}
print(alarm)  # set() - leer, beide liegen ueber dem Minimum
print(bewegungen)  # [('A101', 5), ('B202', 20), ('A101', 15)]

Eine Grenze gibt es allerdings: Collections leben nur im Arbeitsspeicher deines Programms. Sobald mehrere Personen gleichzeitig aufs Lager zugreifen oder Daten dauerhaft gespeichert werden müssen, führt an einer Datenbank kein Weg vorbei.

Häufige Fehler, die Anfänger machen

Die meisten Anfängerfehler drehen sich um Referenzen und Unveränderbarkeit - diese drei begegnen dir garantiert.

Fehler 1: Liste „kopieren" mit `=`

python
original = [1, 2, 3]
kopie = original  # falsch: nur eine Referenz auf dieselbe Liste!
kopie.append(4)
print(original)  # [1, 2, 3, 4] - ups

richtig = original.copy()  # echte Kopie

Warum passiert das? Weil `=` keinen neuen Inhalt anlegt, sondern nur einen zweiten Namen für dieselbe Liste im Speicher.

Fehler 2: Ein tuple verändern wollen

python
farben = ("rot", "gruen")
farben[0] = "blau"  # TypeError: 'tuple' object does not support item assignment

Du musst ein neues tuple anlegen: `farben = ("blau",) + farben[1:]`.

Fehler 3: Eine Liste als dict-Schlüssel verwenden

python
daten = {[1, 2]: "falsch"}  # TypeError: unhashable type: 'list'
daten = {(1, 2): "richtig"}  # tuples funktionieren als Schluessel

Schlüssel müssen einen stabilen „Fingerabdruck" (Hash-Wert) haben - veränderbare listen erfüllen diese Bedingung nicht.

Übungstipp: Baue deinen eigenen Vokabeltrainer

Nimm ein Thema aus deinem Alltag - Vokabeln, Spiele-Sammlungen, Serien - und baue einen Mini-Trainer: ein `dict` mit `{vokabel: uebersetzung}`, eine `list` für falsch beantwortete Einträge und ein `set`, damit keine Vokabel doppelt drankommt. Prüfe danach mit `type(variable)` und `dir(variable)`, was Python dir über deine Objekte verrät.

Wer listen danach kompakt verarbeiten will, lernt am besten Lambda-Funktionen in Python kennen - die passen perfekt zu `map()` und `filter()` auf Collections.

FAQ: Häufige Fragen zu Python Collections

Was ist der Unterschied zwischen list und tuple?

Eine list ist veränderbar, ein tuple nicht. Nutze tuples für feste Werte (Koordinaten, Konstanten) und lists für alles, was wachsen oder schrumpfen soll.

Sind Python dicts geordnet?

Ja, seit Python 3.7 behalten dicts die Einfügereihenfolge bei. Auf ältere Versionen darfst du dich darauf nicht verlassen.

Wie entferne ich Duplikate aus einer Liste?

Mit `liste = list(set(liste))`. Beachte: Die ursprüngliche Reihenfolge geht dabei verloren, da sets ungeordnet sind. Soll die Reihenfolge erhalten bleiben, nutze `list(dict.fromkeys(liste))`.

Welche Collection ist am schnellsten beim Suchen?

`set` und `dict`, weil sie per Hashing in konstanter Zeit zugreifen. Eine list muss im schlimmsten Fall komplett durchsucht werden.

Kann eine Collection eine andere enthalten?

Ja, beliebig tief verschachtelt - zum Beispiel eine list von dicts, wie du sie oft von JSON-APIs zurückbekommst.

Fazit

`list`, `dict`, `set` und `tuple` sind das Fundament fast jedes Python-Programms. Mit diesem Python Collections Überblick kennst du jetzt die drei Entscheidungskriterien - geordnet, veränderbar, Duplikate - und die Wahl fällt dir künftig leicht. Wer die allgemeinen Grundlagen zu Array, Liste, Stack und Queue auffrischen will, findet dazu auch unseren Überblick zu Datenstrukturen-Grundlagen.

Und wenn beim Üben Fragen offen bleiben oder ein Thema für die Prüfung einfach nicht hängen will: Bei study-it.education findest du persönliche IT-Nachhilfe - passgenau für Azubis, Studenten und Berufseinsteiger. Schau vorbei und lass uns gemeinsam an deinen Python-Skills arbeiten.


Matching tutoring

Want 1:1 help with this topic?

First chat · €0 · 30 min

Need someone to walk through this with you?

Instead of re-reading: 30 min with a senior dev.

Book a free first chat →
About the author
Marcel Schmidtpeter
Marcel Schmidtpeter

Stell dir vor: Dein Ausbilder schiebt dir eine Excel-Liste mit 500 Artikelnummern rüber und sagt: „Find die doppelten Einträge, das Skript soll bis morgen fertig sein." Spätestens jetzt brauchst du Python Collections - die eingebauten Datenstrukturen, mit denen du viele Werte in einer einzigen Variable speicherst und verarbeitest. In diesem Python Collections Überblick lernst du die vier wichtigsten kennen: `list`, `dict`, `set` und `tuple`. Ob du dich auf die IHK-Abschlussprüfung...

marcel.schmidtpeter@study-it.education →
Keep reading

More reading