So erstellen und verwenden Sie Tupel in Python

Ein Tupel ist eine Sammlung unveränderlicher Python-Objekte. Es kann Elemente eines beliebigen Datentyps (Ganzzahl, Zeichenfolge, Gleitkomma, Liste usw.) enthalten, was es zu einer flexiblen und leistungsstarken Datenstruktur macht. Es ist Teil der Python-Kernsprache und wird häufig in Python-Programmen und -Projekten verwendet.

Ein Tupel erstellen

Ein Tupel in Python kann erstellt werden, indem alle durch Kommas getrennten Elemente in die Klammer () eingeschlossen werden .

 t1 = (1, 2, 3, 4)
t2 = ("Make", "Use", "Of")
t3 = (1.2, 5.9, 5.4, 9.3)

Elemente des Tupels sind unveränderlich und geordnet. Es erlaubt doppelte Werte und kann eine beliebige Anzahl von Elementen enthalten. Sie können sogar ein leeres Tupel erstellen. Die Elemente eines Tupels können von einem beliebigen Datentyp sein (Ganzzahl, Gleitkomma, Zeichenfolgen, Tupel usw.).

So erstellen und verwenden Sie Tupel in Python - Tuples

Erstellen eines leeren Tupels

Ein leeres Tupel kann mithilfe leerer öffnender und schließender Klammern erstellt werden.

 emptyTuple = ()

Erstellen eines Tupels mit einem einzelnen Element

Um ein Tupel mit nur 1 Element zu erstellen, müssen Sie nach dem Element ein Komma einfügen, damit es von Python als Tupel erkannt wird.

 # t1 is a tuple
t1 = ( 3.14, )
print( type(t1) )
# prints
<class 'tuple'>
 # t2 is not a tuple
t2 = ( 3.14 )
print( type(t2) )
# prints
<class 'float'>

Hinweis: Die Funktion type () gibt den Klassentyp des als Parameter übergebenen Objekts zurück.

Wenn nach dem Element kein Komma verwendet wird, ergibt sich der Klassentyp t2 als 'float'. Daher muss beim Erstellen eines Tupels mit einem einzelnen Wert nach dem Element ein Komma verwendet werden.

Erstellen eines Tupels mit verschiedenen Datentypen

Elemente des Tupels können von einem beliebigen Datentyp sein. Diese Funktion macht das Tupel vielseitig.

 tup1 = ( 'MUO', True, 3.9, 56, [1, 2, 3] )
print( tup1 )
# prints
('MUO', True, 3.9, 56, [1, 2, 3])

Erstellen eines Tupels mit dem Konstruktor tuple ()

Tupel können auch mit dem Konstruktor tuple () erstellt werden. Mit dem Konstruktor tuple () können Sie Sequenzen wie list / dictionary in ein Tupel konvertieren.

 tup1 = tuple( (1, 2, 3) )
print( tup1 )
# prints
(1, 2, 3)

Erstellen eines verschachtelten Tupels

Tupel können leicht in den anderen Tupeln verschachtelt werden. Sie können das Tupel bis zu einem beliebigen Level verschachteln.

 tup1 = (1, 2, 3)
tup2 = ( 'Hello', tup1, 45 )
print( tup2 )
# prints
('Hello', (1, 2, 3), 45)

Zugriff auf Elemente in einem Tupel

Sie können auf Tupelelemente zugreifen, indem Sie die Indexnummer in den eckigen Klammern verwenden. Die Indexnummer beginnt bei 0. Tupel unterstützt auch die negative Indizierung:

  • -1: zeigt auf das letzte Element
  • -2: zeigt auf das vorletzte Element und so weiter
So erstellen und verwenden Sie Tupel in Python - Slicing and indexing in Tuple
 tup1 = ('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O', 'F')
print( tup1[0] )
print( tup1[5] )
print( tup1[-1] )
print( tup1[-9] )
# prints
M
S
F
M

Ein Tupel in Scheiben schneiden

Sie können mit dem Doppelpunkt : auf eine Reihe von Elementen in einem Tupel zugreifen. Tuple unterstützt auch das Schneiden mit negativen Indizes.

 tup1 = ('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O', 'F')
# Prints elements from index 1(included) to index 6(excluded)
print( tup1[1:6] )
# Prints elements from start to index 8(excluded)
print( tup1[:8] )
# Prints elements from index 3(included) to the end
print( tup1[3:] )
# Prints elements from index -4(included) to index -1(excluded)
print( tup1[-4:-1] )
# prints
('A', 'K', 'E', 'U', 'S')
('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O')
('E', 'U', 'S', 'E', 'O', 'F')
('S', 'E', 'O')

Überprüfen, ob ein Element in einem Tupel vorhanden ist

Mit dem Schlüsselwort in können Sie überprüfen, ob ein Element in einem Tupel vorhanden ist.

 tup1 = ('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O', 'F')
if 'M' in tup1:
print("Yes, the element M exists in the tuple")
else:
print("Element not found in the tuple !!")

# prints
Yes, the element M exists in the tuple

Tupel aktualisieren

So unveränderlich Tupel auch sind, es ist nicht möglich, ihren Wert zu ändern. Python löst einen TypeError aus, wenn Sie versuchen, das Tupel zu aktualisieren.

 tup1 = ('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O', 'F')
tup1[0] = 'Z'
# Following error is thrown
tup1[0] = 'Z'
TypeError: 'tuple' object does not support item assignment

Aber es gibt einen Hack, wenn Sie Ihr Tupel aktualisieren möchten.

Ändern Sie den Wert von Elementen eines Tupels mithilfe von Listen

Sie können den Wert von Elementen in Ihrem Tupel mithilfe von Listen in Python ändern. Zuerst müssen Sie das Tupel in eine Liste konvertieren. Ändern Sie dann die Liste nach Ihren Wünschen. Konvertieren Sie schließlich die Liste zurück in ein Tupel.

 tup1 = ( 1, 2, 3 )
print( "This is the old Tuple: ")
print( tup1 )
temp = list( tup1 )
temp[0] = 4
tup1 = tuple( temp )
print( "This is the Updated Tuple: ")
print( tup1 )
# prints
This is the old Tuple:
(1, 2, 3)
This is the Updated Tuple:
(4, 2, 3)

Hinzufügen neuer Elemente in einem Tupel mithilfe von Listen

Da Tupel unveränderlich sind, ist es nicht möglich, einem Tupel neue Elemente hinzuzufügen. Python gibt einen Fehler aus als:

 AttributeError: 'tuple' object has no attribute 'append

Auch hier können Sie unseren Hack (mithilfe von Listen) verwenden, um damit umzugehen. Konvertieren Sie zuerst das Tupel in eine Liste. Fügen Sie dann der Liste neue Elemente hinzu. Konvertieren Sie schließlich die Liste in ein Tupel.

Hinweis: Die append () -Methode wird in Python verwendet , um am Ende der Liste ein neues Element hinzuzufügen.

 tup1 = ( 1, 2, 3 )
print( "This is the old Tuple: ")
print( tup1 )
temp = list( tup1 )
temp.append(4)
tup1 = tuple( temp )
print( "This is the Updated Tuple: ")
print( tup1 )
# prints
This is the old Tuple:
(1, 2, 3)
This is the Updated Tuple:
(1, 2, 3, 4)

Löschen Sie den Vorgang für Tupel

Da Tupel unveränderlich sind, ist es nicht möglich, ein Element aus dem Tupel zu löschen. Wenn Sie das vollständige Tupel löschen möchten, können Sie das Schlüsselwort del verwenden .

 tup1 = ( 1, 2, 3 )
del tup1

Sie können jedoch denselben Hack (mithilfe von Listen) verwenden, den Sie zum Ändern und Hinzufügen von Tupelelementen verwendet haben.

Löschen von Elementen aus einem Tupel mithilfe von Listen

Elemente können mithilfe von Listen in drei einfachen Schritten aus dem Tupel gelöscht werden:

Schritt 1: Konvertieren Sie das Tupel in eine Liste.

Schritt 2: Löschen Sie die Elemente mit der Methode remove () aus der Liste

Schritt 3: Konvertieren Sie die Liste in ein Tupel.

 tup1 = ( 1, 2, 3 )
print( "This is the old Tuple: ")
print( tup1 )
temp = list( tup1 )
temp.remove(1)
tup1 = tuple( temp )
print( "This is the Updated Tuple: ")
print( tup1 )
# prints
This is the old Tuple:
(1, 2, 3)
This is the Updated Tuple:
(2, 3)

Tupel ein- und auspacken

Beim Erstellen eines Tupels werden Werte zugewiesen. Dies wird als Packen eines Tupels bezeichnet .

 # Example of packing a tuple
tup1 = ( 1, 2, 3)

Während das Extrahieren der Werte zurück in Variablen als Entpacken eines Tupels bezeichnet wird .

 # Example of unpacking a tuple
tup1 = ( 1, 2, 3 )
( one, two, three ) = tup1
print( one )
print( two )
print( three )
# prints
1
2
3

Schleifen mit Python-Tupeln

Tupel sind iterierbare Container wie Listen in Python. Sie können die Tupelelemente einfach durchlaufen.

Verwenden für for-Schleife

Die for-Schleife von Python iteriert durch die Elemente des Containers.

 # Looping using for loop
tup1 = ( 1, 2, 3 )
for element in tup1:
print( element )
# prints
1
2
3

Verwandte: Verwendung für For-Schleifen in Python

Verwenden von Indexnummern

Sie können das Tupel mithilfe von Tupelindizes durchlaufen. Verwenden Sie die Funktion len () , um die Größe des Tupels zu ermitteln.

 tup1 = ( 1, 2, 3 )
for index in range(len(tup1)):
print( tup1[index] )

# prints
1
2
3

Verbessern Sie Ihre Code-Effizienz

Da die Tupeldatenstruktur unveränderlich ist, ist ihre Verarbeitungsgeschwindigkeit schneller als die von Listen. Somit werden Python-Programme / -Projekte optimiert. Die Verwendung dieser leistungsstarken und vielseitigen Datenstruktur (Tupel) in Ihren Python-Programmen bringt Ihre Code-Effizienz auf die nächste Stufe.