Skip to content

Tupel in Python aktualisieren (Elemente in Tupeln hinzufügen, ändern, entfernen)

Python

Da das Tupel in Python unveränderlich ist, can SIE es nicht aktualisieren, dh Sie können keine Elemente (Elemente) im Tupel hinzufügen, ändern oder entfernen.

tuple stellt Daten dar, sterben Sie nicht aktualisieren &, daher sollten SIE list statt tuple verwenden, WENN SIE es aktualisieren &. Wenn Sie das Tupel jedoch wirklich aktualisieren & dann wieder in eine Tupel umwandeln.

Dieser Artikel hat folgenden Inhalt.

  • Tupel ist unveränderlich
  • Hängen Sie ein Element an das Tupel an
  • Elemente zum Tupel hinzufügen/einfügen
  • Elemente im Tupel ändern
  • Elemente im Tupel entfernen

Beachten Sie, dass, obwohl Wörter wie „Hinzufügen“, „Ändern“ und „Entfernen“ der Einfachheit halber verwendet werden, in Wirklichkeit ein neues Objekt erzeugt und das ursprüngliche Objekt nicht aktualisiert WIRD.

Tupel ist unveränderlich

Verwenden Sie das folgende Tupel als Beispiel.

t = (0, 1, 2)

print(t)
# (0, 1, 2)

print(type(t))
# <class 'tuple'>

Sie können Elemente per Index [] oder Slice [:] wie Listen abrufen.

print(t[0])
# 0

print(t[:2])
# (0, 1)

Da Tupel unveränderlich ist, können Sie einem Element keinen neuen Wert zuweisen.

# t[0] = 100
# TypeError: 'tuple' object does not support item assignment

Destruktive Methoden (= Methoden, die das ursprüngliche Objekt aktualisieren) wie append() in list sind in tuple nicht definiert.

# t.append(100)
# AttributeError: 'tuple' object has no attribute 'append'

Hängen Sie ein Element an das Tupel an

Tupel ist unveränderlich, aber Sie können mehrere Tupel mit dem +-Operator verketten. Zu diesem Zeitpunkt bleibt das ursprüngliche Objekt unverändert und ein neues Objekt wird erzeugt.

t_add = t + (3, 4, 5)

print(t_add)
# (0, 1, 2, 3, 4, 5)

print(t)
# (0, 1, 2)

Nur Tupel können verkettet werden. Es kann nicht mit anderen Typen wie list verkettet werden.

# print(t + [3, 4, 5])
# TypeError: can only concatenate tuple (not "list") to tuple

Wenn Sie ein Element an ein Tupel anhängen möchten, können Sie ein Tupel mit einem Element verketten.

t_add_one = t + (3,)

print(t_add_one)
# (0, 1, 2, 3)

Beachten Sie, dass ein Tupel mit Einem Element ein Komma am Ende erfordert.

Elemente zum Tupel hinzufügen/einfügen

If SIE neue Elemente am Anfang oder am Ende eines Tupels hinzufügen möchten, can SIE es wie oben beschrieben mit dem +-Operator verketten, aber wenn SIE ein neues Element an einer beliebigen Position einfügen möchten, & SIE ein Tupel in eine Liste umwandeln .

Wandeln Sie das Tupel mit list() in eine Liste um.

l = list(t)

print(l)
# [0, 1, 2]

print(type(l))
# <class 'list'>

Fügen Sie ein Element mit insert() ein.

l.insert(2, 100)

print(l)
# [0, 1, 100, 2]

Konvertieren Sie die Liste mit tuple() in ein Tupel.

t_insert = tuple(l)

print(t_insert)
# (0, 1, 100, 2)

print(type(t_insert))
# <class 'tuple'>

Elemente im Tupel ändern

Sie können Elemente des Tupels auf dieselbe Weise ändern.

Wandeln Sie das Tupel in eine Liste um, aktualisieren Sie es und wandeln Sie es wieder in ein Tupel um.

l = list(t)
l[1] = 100
t_change = tuple(l)

print(t_change)
# (0, 100, 2)

Elemente im Tupel entfernen

Auf die gleiche Weise können Sie auch Elemente des Tupels entfernen.

l = list(t)
l.remove(1)
t_remove = tuple(l)

print(t_remove)
# (0, 2)

Im Beispiel wird remove() used, aber SIE can auch pop() und del verwenden.