EMZETT.
Login

Kurz: Eine Liste speichert mehrere Werte in einer festen Reihenfolge. Sie steht in eckigen Klammern, die Elemente sind durch Kommas getrennt. Listen sind veränderlich und dürfen Werte verschiedener Typen mischen.

Teil des Kurses Python

Kapitel 14 von 44 im Kurs Python (Abschnitt „Datenstrukturen“). Mit Fortschritt, Quiz und Zertifikat auf der Lernseite.

Eine Liste speichert mehrere Werte in einer festen Reihenfolge. Sie steht in eckigen Klammern, die Elemente sind durch Kommas getrennt. Listen sind veränderlich und dürfen Werte verschiedener Typen mischen.

einkauf = ["Brot", "Milch", "Eier"]
zahlen = [3, 1, 4, 1, 5]
gemischt = ["Text", 42, 3.14, True]
leer = []
print(einkauf)
print(len(einkauf))
print(type(gemischt))

Ausgabe:

['Brot', 'Milch', 'Eier']
3
<class 'list'>

Auf Elemente zugreifen

Wie bei Texten zählt der Index ab 0, negative Indizes zählen von hinten:

einkauf = ["Brot", "Milch", "Eier", "Käse"]
print(einkauf[0])
print(einkauf[2])
print(einkauf[-1])
print(einkauf[1:3])

Ausgabe:

Brot
Eier
Käse
['Milch', 'Eier']

Ein Index außerhalb der Liste löst einen IndexError aus:

print(einkauf[10])

Fehlermeldung:

Traceback (most recent call last):
  File "beispiel.py", line 2, in <module>
    print(einkauf[10])
IndexError: list index out of range

Elemente ändern, hinzufügen, entfernen

l = ["a", "b", "c"]
l[1] = "B"            # ändern
l.append("d")         # hinten anhängen
l.insert(0, "start")  # an Position einfügen
print(l)
 
l.remove("c")         # ersten passenden Wert entfernen
letztes = l.pop()     # letztes Element entfernen und zurückgeben
print(letztes, l)
del l[0]              # nach Index löschen
print(l)

Ausgabe:

['start', 'a', 'B', 'c', 'd']
d ['start', 'a', 'B']
['a', 'B']

Listen verbinden und prüfen

a = [1, 2]
b = [3, 4]
print(a + b)
print(a * 3)
print(3 in b)
print(len(a + b))

Ausgabe:

[1, 2, 3, 4]
[1, 2, 1, 2, 1, 2]
True
4

Listen durchlaufen

for frucht in ["Apfel", "Birne"]:
    print(frucht.upper())
 
summe = 0
for z in [4, 8, 15, 16, 23, 42]:
    summe += z
print("Summe:", summe, "– Durchschnitt:", summe / 6)

Ausgabe:

APFEL
BIRNE
Summe: 108 – Durchschnitt: 18.0

Für Summe, Minimum und Maximum gibt es eingebaute Funktionen:

werte = [4, 8, 15, 16, 23, 42]
print(sum(werte), min(werte), max(werte), len(werte))

Ausgabe:

108 4 42 6

Listen sind veränderlich: Vorsicht beim Kopieren

Eine Zuweisung kopiert nicht die Liste, sondern nur den Verweis darauf:

a = [1, 2, 3]
b = a            # b zeigt auf dieselbe Liste
b.append(4)
print(a)         # a hat sich mit verändert!
 
c = a.copy()     # echte (flache) Kopie
c.append(5)
print(a, c)

Ausgabe:

[1, 2, 3, 4]
[1, 2, 3, 4] [1, 2, 3, 4, 5]

Merke

  • Liste: [a, b, c], geordnet, veränderlich, beliebige Typen
  • Zugriff über Index (ab 0, negativ von hinten), Ausschnitte mit [von:bis]
  • append, insert, remove, pop, del ändern die Liste
  • + verbindet, * wiederholt, in prüft, len, sum, min, max
  • b = a kopiert nicht: für eine Kopie a.copy() oder a[:]

Übungsaufgabe

Lege eine Liste mit fünf Zahlen an, hänge eine sechste an, entferne die erste und gib Liste, Summe und Durchschnitt aus.

Quiz zur Selbstkontrolle

Weiter im Kurs

Zurück: Die for-Schleife und range()

Weiter: Listen-Methoden und Sortieren

Alle Kapitel: Python im Überblick