Fachkonzept - Liste
Listen und ihre Darstellung
Listen werden im Alltag benutzt, wenn eine Folge von Informationen dargestellt werden soll. Als Beispiel dient eine Einkaufsliste.
Brot Äpfel Wasser Bananen Joghurt
Entsprechend benutzt man Listen in der Informatik. Eine Liste ist eine Art Datencontainer, mit dem man Folgen von Daten verwalten kann.
Eine Liste ist eine Datenstruktur zur Verwaltung endlicher Folgen von Daten, bei der man flexibel neue Daten hinzufügen und vorhandene Daten entfernen kann.
Listen werden in fast allen Programmiersprachen zur Verwaltung von Daten zur Verfügung gestellt. Deutliche Unterschiede gibt es jedoch in der Art und Weise, wie Listen zusammengesetzt sein dürfen, wie sie dargestellt werden und wie sie mit Operationen verändert werden können. Wir benutzen im Folgenden das Listenkonzept von Python.
Zur Darstellung von Listen verwenden wir eckige Klammern. Alle Elemente einer Liste werden mit Kommata getrennt. Die Elemente einer Liste können von beliebigem - also auch unterschiedlichem - Typ sein.
Beispiele:
# Liste zur Verwaltung von E-Mailadressen
['amueller@gmx.de', 'carla2@hotmail.org', 'herbert.fluhr@web.de']
# Liste zur Verwaltung von Lottozahlen
[1, 12, 21, 31, 37, 46]
# Liste zur Verwaltung erzielter Tore
['Lukas Podolski', 14]
# Liste zur Verwaltung von Personendaten
['Lisa', 'Schmitz', [25, 2, 1995]]
# Liste ohne Listenelemente
[]
Eine besondere Liste ist die leere Liste []
. Sie enthält keine Elemente.
Das Beispiel ['Lisa', 'Schmitz', [25, 2, 1995]]
zeigt, dass eine Liste
selbst wieder Listen als Elemente haben kann. Listen können also geschachtelt werden.
Zugriff auf Elemente einer Liste
Die Elemente einer Liste sind durchnummeriert. Beachte, dass die Nummerierung mit 0 beginnt. Die Nummer eines Elements wird auch Index genannt.
Der Zugriff erfolgt über die Nummer bzw. den Index des Listenelements.
Wenn L
eine Liste bezeichnet, dann beschreibt der Ausdruck L[i]
das Listenelement mit der Nummer i
.
>>> L = ['a', 'b', 'c', 'd', 'e']
>>> L[0]
'a'
>>> L[1]
'b'
Bei Listen ist sowohl ein lesender Zugriff als auch ein schreibender Zugriff auf die Elemente möglich.
>>> L = ['a', 'b', 'c', 'd', 'e']
>>> L[4]
'e'
>>> L[4] = 'g'
>>> L
['a', 'b', 'c', 'd', 'g']
Zugriff auf Teillisten
Ein Zugriff auf eine Teilliste ist wie folgt möglich:
Wenn L
eine Liste bezeichnet, dann beschreibt der Ausdruck L[i:j]
die Liste, die alle Elemente der Ausgangsliste L
mit den Nummern von
i
bis j-1
enthält. Beachte, dass diese Teilliste auch leer sein kann.
>>> L = ['g', 't', 'e', 'c', 's', 'k', 'p']
>>> L[0:2]
['g', 't']
>>> L[2:5]
['e', 'c', 's']
>>> L[1:5]
['t', 'e', 'c', 's']
>>> L[3:3]
[]
Die folgenden Beispiele zeigen noch einige abkürzende Schreibweisen, die die Beschreibung von Teillisten oft vereinfachen.
>>> L = ['g', 't', 'e', 'c', 's', 'k', 'p']
>>> L[2:]
['e', 'c', 's', 'k', 'p']
# von Nummer 2 bis zum Ende der Nummerierung
>>> L[:2]
['g', 't']
# von Nummer 0 bis zur Nummer 2-1
>>> L[:]
['g', 't', 'e', 'c', 's', 'k', 'p']
# von Nummer 0 bis zum Ende der Nummerierung
Konkatenation von Listen
Bei der Konkatenation von Listen werden diese zu einer Gesamtliste verbunden.
Wenn L
und M
zwei Listen bezeichnen, dann beschreibt der Ausdruck L+M
die Liste, die zunächst alle Elemente von L
und danach alle Elemente von M
enthält.
>>> L = ['g', 't', 'e', 'c', 's', 'k', 'p']
>>> M = ['a', 'g', 't']
>>> L + M
['g', 't', 'e', 'c', 's', 'k', 'p', 'a', 'g', 't']
>>> L + ['u']
['g', 't', 'e', 'c', 's', 'k', 'p', 'u']
>>> [] + M
['a', 'g', 't']
Länge einer Liste
Die Länge einer Liste beschreibt die Anzahl der Listenelemente.
Wenn L
eine Listen bezeichnet, dann beschreibt der Ausdruck len(L)
die Länge der Liste.
>>> L = ['g', 't', 'e', 'c', 's', 'k', 'p']
>>> len(L)
7
>>> len([])
0
>>> len([1, [2, 3]])
2
Vorhandensein in einer Liste abprüfen
Mit einem Ausdruck der Gestalt e in L
kann man überprüfen,
ob das von e
verwaltete Datenobjekt in der von L
verwalteten Liste
vorkommt.
>>> L = ['g', 't', 'e', 'c', 's', 'k', 'p']
>>> e = 'a'
>>> e in L
False
>>> e = 's'
>>> e in L
True
Eine Liste durchlaufen
Mit einer for
-Anweisung der Gestalt for e in L:
kann man alle
Elemente einer Liste (Sequenz) der Reihe nach durchlaufen.
>>> L = ['g', 't', 'e', 'c', 's', 'k', 'p']
>>> for e in L:
... print(e)
...
g
t
e
c
s
k
p