Was ist eine Liste?
Stell dir vor, du möchtest fünf Noten speichern. Mit einzelnen Variablen sieht das so aus:
[ ], Elemente durch Komma getrennt.
Mit einer Liste ist das viel eleganter:
Eigenschaften auf einen Blick
- Geordnet: Reihenfolge der Elemente bleibt erhalten.
- Veränderbar (mutable): Elemente können nachträglich geändert werden.
- Gemischt: Eine Liste darf verschiedene Typen enthalten.
- Dynamisch: Die Länge kann sich zur Laufzeit verändern.
Erstellen & Zugriff auf Elemente
Eine Liste erstellen
Indizes – Zugriff auf einzelne Elemente
Jedes Element hat eine feste Position (Index). Der Index beginnt bei 0. Negative Indizes zählen vom Ende.
👉 Klicke auf ein Element, um seinen Index zu sehen:
staedte[10] bei einer 4-elementigen Liste), gibt Python einen IndexError. Probiere es aus und lies die Fehlermeldung!
temperaturen = [18, 22, 19, 25, 21, 17, 23] (Mo–So)
Ersetze die ___ so, dass ausgegeben wird: Mittwoch: 19 | Sonntag: 23 | Höchste: 25
Listenelemente verändern
Hinzufügen und entfernen
Verketten und wiederholen
Starte mit freunde = ["Anna", "Ben", "Clara"] und:
- Füge
"David"am Ende hinzu. - Füge
"Eva"an Position 0 ein. - Entferne
"Ben". - Gib Liste und Länge aus.
Erwartet: ['Eva', 'Anna', 'Clara', 'David'] | Länge: 4
Listen durchlaufen
Variante 1: for … in (direkter Zugriff)
Variante 2: for … in range(len(…)) – mit Index
for x in liste → wenn du nur lesen willst.for i in range(len(liste)) → wenn du Elemente verändern oder den Index brauchst.
Finde das größte Element der Liste mit einer Schleife – ohne max().
Wichtige Listen-Methoden
| Methode / Funktion | Beschreibung | Beispiel |
|---|---|---|
len(liste) | Anzahl der Elemente | len([1,2,3]) → 3 |
liste.append(x) | x am Ende anhängen | a.append(5) |
liste.insert(i, x) | x an Position i einfügen | a.insert(0,"Z") |
liste.remove(x) | erstes Vorkommen von x entfernen | a.remove("Ben") |
liste.pop() | letztes Element entnehmen & zurückgeben | x = a.pop() |
liste.pop(i) | Element an Position i entnehmen | x = a.pop(2) |
liste.sort() | aufsteigend sortieren (in-place) | a.sort() |
liste.reverse() | Reihenfolge umkehren (in-place) | a.reverse() |
liste.index(x) | Index des ersten Vorkommens von x | a.index("Anna") |
liste.count(x) | Häufigkeit von x | a.count(2) |
x in liste | True, wenn x enthalten ist | "Ben" in a |
min(liste) | kleinstes Element | min([3,1,2]) → 1 |
max(liste) | größtes Element | max([3,1,2]) → 3 |
sum(liste) | Summe aller Elemente | sum([1,2,3]) → 6 |
b = a zeigen beide Variablen auf dasselbe Objekt im Speicher.
Änderungen an b betreffen deshalb auch a!
Für eine echte Kopie: b = a[:] oder b = list(a).
Übungsaufgaben
Berechne Summe, Anzahl und Durchschnitt nur mit einer Schleife – ohne sum() und len().
Erstelle eine neue Liste, die nur die geraden Zahlen enthält. Nutze %.
Kehre die Reihenfolge um – ohne reverse(). Nutze zwei Indizes und eine Hilfsvariable temp.
Erzeuge x-Werte von -5 bis 5 und berechne y-Werte für f(x) = x² − 3.
Quiz & Zusammenfassung
Wähle jeweils die richtige Antwort – sofortiges Feedback!
["Mo","Di","Mi","Do","Fr"][2] aus?a?a.size()a.length()len(a)count(a)a = [1,2,3]; a.append(4) – was enthält a?[4,1,2,3][1,2,3,4][1,2,3][10,20,30,40,50][-2]?10204050b = a (beide Listen) – was passiert bei b.append(99)?b ändert sich.a enthält 99, da beide auf dasselbe Objekt zeigen.a wird automatisch kopiert.Zusammenfassung – das Wichtigste auf einen Blick
📋 Erstellen
a = [1, 2, 3]a = []a = list(range(5))🔍 Zugriff
a[0] # erstesa[-1] # letztesa[1:3] # Slice✏️ Verändern
a[i] = xa.append(x)a.insert(i, x)a.remove(x)🔄 Durchlaufen
for x in a:for i in range(len(a)):📐 Kennwerte
len(a)min(a) / max(a)sum(a)a.count(x)🔀 Sortieren
a.sort()a.reverse()a.index(x)x in a