Exkurs - Tupel
Tupel als Dateneinheit
Tupel benutzt man, um zusammengehörende Daten zu einer Einheit zusammenzufassen.
Ein Tupel ist eine Datenstruktur, bei der mehrere Daten zu einer Einheit zusammengefasst werden.
Wir lehnen uns im Folgenden stark an das Tupelkonzept von Python an.
- Zur Darstellung von Tupeln verwenden wir runde Klammern.
- Alle Elemente eines Tupels werden mit Kommata getrennt.
- Die Elemente eines Tupels können von beliebigem Typ sein.
Tupel weisen einige Ähnlichkeiten mit Listen auf, unterscheiden sich aber in einigen Punkten wesentlich von Listen. Die folgenden Ausführungen sollen die Besonderheiten aufzeigen.
Zugriff auf die Elemente
Wir betrachten die Verwaltung von Terminen. Ein lesender Zugriff auf Tupelelemente erfolgt genau wie bei Listen. Ein schreibender Zugriff auf Tupelelemente ist - anders als bei Listen - nicht möglich. Man kann ein Tupel nicht dadurch abändern, dass man ein Element durch ein anderes ersetzt. Wenn man ein Tupel abändern will, muss man ein neues Tupelobjekt erzeugen.
>>> datum = (24, 'Jul', 2012) >>> datum (24, 'Jul', 2012) >>> datum[0] = 25 Traceback (most recent call last): File ... datum[0] = 25 TypeError: 'tuple' object does not support item assignment >>> datum = (25, 'Jul', 2012) >>> datum (25, 'Jul', 2012)
Tupel zusammenpacken und auspacken
Tupel lassen sich aus einzelnen Komponenten zusammenpacken.
>>> datum = (24, 'Jul', 2012) >>> uhrzeit = (12, 44, 21) >>> zeitverschiebung = ('+', 2, 0) >>> zeitstempel = (datum, uhrzeit, zeitverschiebung) >>> zeitstempel ((24, 'Jul', 2012), (12, 44, 21), ('+', 2, 0))
Auch ein Auspacken und Zerlegen in Komponenten ist in Python möglich.
>>> zeitstempel = ((25, 'Jul', 2012), (10, 20, 0), ('+', 2, 0)) >>> (datum, uhrzeit, zeitverschiebung) = zeitstempel >>> datum (25, 'Jul', 2012) >>> uhrzeit (10, 20, 0) >>> zeitverschiebung ('+', 2, 0)