13.1 Hinzufügen von Elementen
Tuples sind unveränderliche Objekte. Einmal erstellt, kann ein Tuple nicht mehr verändert werden. Aber sehr oft benötigen wir eine veränderte Kopie eines Objekts, auch wenn es nicht direkt geändert werden kann.
Genau das ist mit der Klasse str gemacht worden – sie hat zwei Dutzend Methoden, die das originale str-Objekt nicht ändern, aber einen neuen String zurückgeben, der dem aufgerufenen Methoden entspricht.
Die Python-Entwickler hätten Methoden zur Klasse tuple hinzufügen können, die ein neues Objekt zurückgeben, wenn versucht wird, das Tuple zu ändern. Aber sie haben es nicht getan. Vielleicht, um uns nicht zu verwirren oder aus einem anderen Grund.
Daher erfolgen alle Änderungen eines Tuples nach folgendem Schema:
liste = list(tuple)
ändere liste hier
tuple2 = tuple(liste)
append():
Angenommen, du möchtest ein Element zu einem Tuple hinzufügen, so könnte das aussehen:
my_tuple = (1, 2, 3)
my_list = list(my_tuple)
my_list.append(4) # Element zur Liste hinzufügen
my_new_tuple = tuple(my_list)
Hinzufügen einer Gruppe von Elementen – Methode extend():
Die Methode extend() ermöglicht es, mehrere Elemente gleichzeitig zur Liste hinzuzufügen. Als Argument nimmt die Methode ein iterierbares Objekt (z.B. eine andere Liste, ein Tuple, eine Menge):
my_tuple = (1, 2, 3, 4)
my_list = list(my_tuple)
my_list.extend((5, 6)) # Elemente zur Liste hinzufügen
my_new_tuple = tuple(my_list)
Einfügen in die Mitte – Methode insert()
Die Methode insert() fügt ein Element an einer angegebenen Position in der Liste hinzu. Diese Methode nimmt zwei Argumente: den Index, an dem das Element eingefügt werden soll, und das Element selbst:
my_tuple = (1, 2, 3, 4)
my_list = list(my_tuple)
my_list.insert(0, 0) # 0 am Anfang der Liste hinzufügen
my_new_tuple = tuple(my_list)
13.2 Ändern von Elementen
Wenn du ein Element eines Tuples ändern musst, dann machst du weiter nach dem Schema:
liste = list(tuple)
# ändere liste hier
tuple2 = tuple(liste)
Lass uns dem ersten Element des Tuples den letzten Wert und dem letzten Element den ersten Wert zuweisen. Hier ist der Code, den wir dafür benötigen:
my_tuple = (1, 2, 3, 4)
my_list = list(my_tuple)
my_list[0], my_list[-1] = my_list[-1], my_list[0] # Werte vertauschen
my_new_tuple = tuple(my_list)
print(my_new_tuple) # (4, 2, 3, 1)
13.3 Entfernen von Elementen
Elemente aus einem Tuple werden nach demselben Schema entfernt.
Lass uns ein Beispiel geben, wenn wir ein bestimmtes Wert aus dem Tuple entfernen möchten
atuple = ("apple", "banana", "cherry")
alist = list(atuple)
alist.remove("apple")
atuple = tuple(alist)
print(atuple) # ('banana', 'cherry')
Beachte, dass wir am Ende das neue Tuple-Objekt der Variablen zuweisen, die zuvor den Verweis auf das originale tuple gehalten hatte. Das kann man machen, aber das originale tuple wird dadurch nicht geändert. Und falls irgendwo im Code weiter oben ein Verweis darauf besteht, wird er weiterhin auf das originale tuple zeigen.
Lass uns jetzt das letzte Element aus dem Tuple entfernen.
So sieht der Code dafür aus:
atuple = ("apple", "banana", "cherry")
alist = list(atuple)
alist.pop() # letztes Element entfernen
atuple = tuple(alist)
print(atuple) # ('apple', 'banana')
Ich denke, die Logik ist dir klar. Man kann keine Elemente aus einem Tuple entfernen, aber wenn man wirklich will, kann man es so machen 😊
GO TO FULL VERSION