Logo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

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.

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)
X

Fehler melden

X

Suche