Exkurs - Listen und Tupel in Python
Listen und Tupel als Datenstrukturen
Listen und Tupel sind zwei Datenstrukturen in Python, mit deren Hilfe man Daten zu einer Einheit zusammenfassen kann. Beide Datenstrukturen erlauben es, Daten unterschiedlichen Typs zusammenzufassen. Beide Datenstrukturen können zudem beliebig geschachtelt werden.
>>> liste = ['Freitag', [13, 'Januar', 2012]] >>> liste ['Freitag', [13, 'Januar', 2012]] >>> tupel = ('Freitag', (13, 'Januar', 2012)) >>> tupel ('Freitag', (13, 'Januar', 2012))
Listen / Tupel als veränderbare / unveränderbare Datenobjekte
Ein wesentlicher Unterschied zwischen Listen und Tupel zeigt sich, wenn man den Zugriff auf die einzelnen Daten untersucht.
>>> datum = [13, 'Januar', 2012] >>> datum[0] 13 >>> datum[0] = 14 >>> datum [14, 'Januar', 2012] >>> datum = (13, 'Januar', 2012) >>> datum[0] 13 >>> datum[0] = 14 Traceback (most recent call last): File ... datum[0] = 14 TypeError: 'tuple' object does not support item assignment >>>
Beide Datenstrukturen - Listen und Tupel - erlauben einen lesenden Zugriff auf die einzelnen Daten.
Während die Datenstruktur "Liste" einen schreibenden Zugriff erlaubt (Listenelemente können also durch andere ersetzt werden), ist ein solcher schreibender Zugriff bei Tupeln nicht möglich.
Listen sind in Python veränderbare Datenobjekte, Tupel unveränderbare Datenobjekte.
Listen und Tupel als sequentielle Datenobjekte
Abgesehen von der Unveränderbarkeit der verwalteten Daten verhalten sich Tupel genauso wie Listen. Tupel sind in Python - ebenso wie Listen und Zeichenketten - sequentielle Datenobjekte. Mit Tupeln können somit die bei Listen und Zeichenketten gängigen Operationen ebenfalls ausgeführt werden. Hier einige Beispiele:
>>> datum = (13, 'Januar', 2012) >>> len(datum) 3 >>> for element in datum: print(element) 13 Januar 2012 >>> datum[1:3] ('Januar', 2012)