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
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 rangeElemente ä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
4Listen 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.0Fü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 6Listen 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,inprüft,len,sum,min,maxb = akopiert nicht: für eine Kopiea.copy()odera[:]
Ü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
Welcher Index bezeichnet das letzte Element einer Liste?
- -1 (richtig)
- 0
- len(liste)
- last
Was passiert bei b = a und b.append(1), wenn a eine Liste ist?
- a verändert sich ebenfalls, beide zeigen auf dieselbe Liste (richtig)
- Nur b verändert sich
- Python meldet einen Fehler
- a wird gelöscht
Welche Methode entfernt das letzte Element und gibt es zurück?
- pop() (richtig)
- remove()
- delete()
- clear()
Weiter im Kurs
Zurück: Die for-Schleife und range()
Weiter: Listen-Methoden und Sortieren
Alle Kapitel: Python im Überblick