Listen und Tupel in Python. Was sind die Gemeinsamkeiten / Unterschiede?

Listen und Tupel sind geordnete und indizierbare Datenstrukturen. Listen sind veränderbar. Das heißt, man kann Elemente hinzufügen, entfernen oder modifizieren. Tupel sind nicht veränderbar.

Um Veränderungen an einem Tupel vorzunehmen, muss man den Umweg über eine Liste gehen:

a = ("Apfel", "Banane", "Zitrone")
b = list(a)
b[2] = "Kirsche"
a = tuple(b)
print(a) # ('Apfel', 'Banane', 'Kirsche')

In Zeile 1 wird ein Tupel a angelegt. Um ein Element des Tupels ändern zu können, wird aus dem Tupel in Zeile 2 die Liste b erzeugt. In Zeile 3 wird ein Listenelement verändert. In Zeile 4 wird aus der Liste wieder ein Tupel erzeugt und der Variable a zugewiesen.