Exkurs - Listenobjekte

Listenobjekte und ihre Erzeugung

Listen sind (in Python) Objekte vom Typ list, die - im Sinne der objektorientierten Programmierung - Daten verwalten und die dem Benutzer Operationen zur Verarbeitung der Daten zur Verfügung stellen.

Objekte müssen erzeugt werden, bevor sie irgendwelche Operationen ausführen können.

Die einfachste Möglichkeit, ein Listenobjekt zu erzeugen, besteht darin, die Liste mit ihren Elementen direkt anzugeben. So erzeugt die Anweisung L = [0, 1, 2] eine Liste mit den angegebenen Elementen und bindet dieses Objekt an die Variable L.

Eine andere Möglichkeit besteht darin, den sogenannten list-Konstruktor aufzurufen. Durch die Anweisung L = list() wird eine leere Liste erzeugt und an die Variable L angebunden.

Es gibt (in Python) weitere Möglichkeiten zur Erzeugung von Listen. Eine davon haben wir schon benutzt: Der Aufruf range(3) etwa erzeugt die Liste [0, 1, 2].

Aufgabe 1: Listenoperationen

Einige der Operationen, die Listenobjekte ausführen können, sind im folgenden Python-Dialog zu sehen. Finde (eventuell mit weiteren Experimenten) selbst heraus, was diese Operationen bewirken.

>>> L = []
>>> L
[]
>>> L.append(3)
>>> L
[3]
>>> L.append(5)
>>> L
[3, 5]
>>> L.insert(1, 7)
>>> L
[3, 7, 5]
>>> L.insert(0, 5)
>>> L
[5, 3, 7, 5]
>>> L.remove(5)
>>> L
[3, 7, 5]
>>> L.extend([4, 2])
>>> L
[3, 7, 5, 4, 2]
>>> 

Aufgabe 2: weitere Listenoperationen

Neben den oben im Python-Dialog benutzten Operationen gibt es weitere, die eine ungewöhnliche Schreibweise aufweisen. Wir zeigen sie erst hier in Aktion. Finde (eventuell mit weiteren Experimenten) selbst heraus, was sie bewirken.

>>> L
[3, 7, 5, 4, 2]
>>> L.__len__()
5
>>> L.__getitem__(1)
7
>>> L.__setitem__(1, 8)
>>> L
[3, 8, 5, 4, 2]
>>> L.__delitem__(1)
>>> L
[3, 5, 4, 2]
>>> L.__len__()
4

Die Schreibweise mit zwei Unterstrichen am Anfang und am Ende des Operationsnamens ist schon ungewöhnlich. Was es damit auf sich hat (es hat etwas mit Überladen von Operationen zu tun), ist hier nicht von Bedeutung.

Eine Schnittstellenbeschreibung

Das folgende (Klassen-) Diagramm zeigt die oben benutzten Listenoperationen.

Klassendiagramm zur Klasse list

Eine solches Diagramm (ergänzt um weitere Kommentare, die das Verhalten der Operationen genau beschreiben) kann als Schnittstellenbeschreibung betrachtet werden. Hier sind die Operationen aufgeführt, die Objekte vom Typ list dem Benutzer zur Verfügung stellen.

X

Fehler melden

X

Suche