Python - Tupel

Ein Tupel ist eine Folge unveränderlicher Python-Objekte. Tupel sind Sequenzen, genau wie Listen. Die Unterschiede zwischen Tupeln und Listen bestehen darin, dass die Tupel im Gegensatz zu Listen nicht geändert werden können und Tupel Klammern verwenden, während Listen eckige Klammern verwenden.

Das Erstellen eines Tupels ist so einfach wie das Einfügen verschiedener durch Kommas getrennter Werte. Optional können Sie diese durch Kommas getrennten Werte auch in Klammern setzen. Zum Beispiel -

tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";

Das leere Tupel wird als zwei Klammern geschrieben, die nichts enthalten -

tup1 = ();

Um ein Tupel mit einem einzelnen Wert zu schreiben, müssen Sie ein Komma einfügen, obwohl es nur einen Wert gibt -

tup1 = (50,);

Wie String-Indizes beginnen Tupel-Indizes bei 0 und können in Scheiben geschnitten, verkettet usw. werden.

Zugriff auf Werte in Tupeln

Um auf Werte in Tupel zuzugreifen, verwenden Sie die eckigen Klammern zum Schneiden zusammen mit dem Index oder den Indizes, um den an diesem Index verfügbaren Wert zu erhalten. Zum Beispiel -

#!/usr/bin/python

tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5, 6, 7 );
print "tup1[0]: ", tup1[0];
print "tup2[1:5]: ", tup2[1:5];

Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:

tup1[0]:  physics
tup2[1:5]:  [2, 3, 4, 5]

Tupel aktualisieren

Tupel sind unveränderlich, dh Sie können die Werte von Tupelelementen nicht aktualisieren oder ändern. Sie können Teile vorhandener Tupel verwenden, um neue Tupel zu erstellen, wie das folgende Beispiel zeigt:

#!/usr/bin/python

tup1 = (12, 34.56);
tup2 = ('abc', 'xyz');

# Following action is not valid for tuples
# tup1[0] = 100;

# So let's create a new tuple as follows
tup3 = tup1 + tup2;
print tup3;

Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:

(12, 34.56, 'abc', 'xyz')

Tupelelemente löschen

Das Entfernen einzelner Tupelelemente ist nicht möglich. Es ist natürlich nichts Falsches daran, ein weiteres Tupel mit den unerwünschten Elementen zusammenzustellen, die weggeworfen wurden.

Um ein ganzes Tupel explizit zu entfernen, verwenden Sie einfach das delErklärung. Zum Beispiel -

#!/usr/bin/python

tup = ('physics', 'chemistry', 1997, 2000);
print tup;
del tup;
print "After deleting tup : ";
print tup;

Dies führt zu folgendem Ergebnis. Beachten Sie eine Ausnahme, die ausgelöst wird, weil nachdel tup Tupel existiert nicht mehr -

('physics', 'chemistry', 1997, 2000)
After deleting tup :
Traceback (most recent call last):
   File "test.py", line 9, in <module>
      print tup;
NameError: name 'tup' is not defined

Grundlegende Tupeloperationen

Tupel reagieren auf die Operatoren + und * ähnlich wie Zeichenfolgen. Sie bedeuten auch hier Verkettung und Wiederholung, außer dass das Ergebnis ein neues Tupel und kein String ist.

Tatsächlich reagieren Tupel auf alle allgemeinen Sequenzoperationen, die wir im vorherigen Kapitel für Zeichenfolgen verwendet haben.

Python-Ausdruck Ergebnisse Beschreibung
len ((1, 2, 3)) 3 Länge
(1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6) Verkettung
('Hi!') * 4 ('Hi!', 'Hi!', 'Hi!', 'Hi!') Wiederholung
3 in (1, 2, 3) Wahr Mitgliedschaft
für x in (1, 2, 3): drucke x, 1 2 3 Wiederholung