Stewdent.eu
▾

Listen und Arrays

Eine Liste in Python ist eine geordnete Sammlung von Werten, die verändert werden kann. Listen sind eines der wichtigsten Werkzeuge, um mehrere zusammengehörige Daten zu speichern und zu verarbeiten.

Zuletzt aktualisiert: 17. Februar 2026

★★☆☆☆ Stufe 2computingprogrammingdatentypenlistenarrayssammlung4 Min Lesezeit

Fehler melden

Stelle dir vor, du möchtest die Namen aller Schüler in deiner Klasse speichern. Du könntest schueler1 = "Anna", schueler2 = "Ben" usw. schreiben — aber das wird sehr unpraktisch. Eine Liste löst dieses Problem: Sie speichert mehrere Werte unter einem einzigen Namen.

Liste erstellen

fruechte = ["Apfel", "Banane", "Kirsche", "Mango"]
noten = [1, 2, 3, 4, 5, 6]
gemischt = [42, "Hallo", True, 3.14]   # Verschiedene Typen erlaubt
leere_liste = []

Auf Elemente zugreifen

Wie bei Zeichenketten beginnt der Index bei 0:

fruechte = ["Apfel", "Banane", "Kirsche"]
print(fruechte[0])    # Apfel
print(fruechte[2])    # Kirsche
print(fruechte[-1])   # Kirsche (letztes Element)

Elemente ändern, hinzufügen, entfernen

Anders als Zeichenketten sind Listen veränderlich:

zahlen = [10, 20, 30, 40]

# Element ändern
zahlen[1] = 99
print(zahlen)   # [10, 99, 30, 40]

# Element am Ende hinzufügen
zahlen.append(50)
print(zahlen)   # [10, 99, 30, 40, 50]

# Element an einer bestimmten Position einfügen
zahlen.insert(2, 77)
print(zahlen)   # [10, 99, 77, 30, 40, 50]

# Element entfernen (nach Wert)
zahlen.remove(99)
print(zahlen)   # [10, 77, 30, 40, 50]

# Letztes Element entfernen und zurückgeben
letztes = zahlen.pop()
print(letztes)  # 50
print(zahlen)   # [10, 77, 30, 40]
Hinweis

append() ist die häufigste Methode zum Hinzufügen von Elementen. Sie ist sehr effizient und fügt das Element immer am Ende an. insert() ist langsamer, wenn die Liste groß ist, weil alle nachfolgenden Elemente verschoben werden müssen.

Über Listen iterieren

namen = ["Anna", "Ben", "Clara"]
for name in namen:
    print(f"Hallo, {name}!")

Nützliche Listen-Methoden

zahlen = [5, 2, 8, 1, 9, 3]

print(len(zahlen))      # 6 (Anzahl der Elemente)
print(max(zahlen))      # 9 (größter Wert)
print(min(zahlen))      # 1 (kleinster Wert)
print(sum(zahlen))      # 28 (Summe)
print(sorted(zahlen))   # [1, 2, 3, 5, 8, 9] (neue sortierte Liste)

zahlen.sort()           # Liste direkt sortieren
print(zahlen)           # [1, 2, 3, 5, 8, 9]

zahlen.reverse()        # Liste umkehren
print(zahlen)           # [9, 8, 5, 3, 2, 1]

print(8 in zahlen)      # True (prüfen ob Element vorhanden)
print(zahlen.count(5))  # 1 (wie oft kommt 5 vor)
Tipp

sorted() erstellt eine neue sortierte Liste und lässt die Original-Liste unverändert. sort() sortiert die Liste direkt und gibt None zurück. Welche du verwendest, hängt davon ab, ob du die ursprüngliche Reihenfolge behalten möchtest.

Listen aus Bereichen erstellen

# list() mit range() kombinieren
gerade = list(range(0, 11, 2))
print(gerade)   # [0, 2, 4, 6, 8, 10]

Slicing bei Listen

buchstaben = ["a", "b", "c", "d", "e"]
print(buchstaben[1:4])   # ['b', 'c', 'd']
print(buchstaben[:3])    # ['a', 'b', 'c']
print(buchstaben[2:])    # ['c', 'd', 'e']
Warnung

Wenn du eine Liste einer neuen Variablen zuweist, kopierst du sie nicht — du erstellst nur einen weiteren Verweis auf dieselbe Liste. Änderungen durch liste2 wirken sich auch auf liste1 aus! Um eine echte Kopie zu erstellen, verwende liste2 = liste1.copy() oder liste2 = liste1[:].

Übungsaufgaben

Was gibt der folgende Code aus? zahlen = [3, 1, 4, 1, 5] / zahlen.append(9) / zahlen.remove(1) / print(len(zahlen))

Antwort anzeigen
5. Zuerst hat die Liste 5 Elemente. Nach append(9) hat sie 6 Elemente: [3, 1, 4, 1, 5, 9]. remove(1) entfernt das erste Vorkommen von 1: [3, 4, 1, 5, 9]. Die Liste hat jetzt 5 Elemente.

Schreibe Python-Code, der eine Liste von Zahlen nimmt und den Durchschnitt berechnet.

Antwort anzeigen
zahlen = [4, 8, 6, 2, 10] / durchschnitt = sum(zahlen) / len(zahlen) / print(durchschnitt) — gibt 6.0 aus. sum() berechnet die Summe aller Elemente, len() gibt die Anzahl zurück. Die Division ergibt den Durchschnitt.