English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Tupel in Python sind ähnlich zuListe.Der Unterschied zwischen beiden liegt darin, dass Elemente eines Tupels nach der Zuweisung nicht geändert werden können, während in einer Liste Elemente geändert werden können.
durch das Platzen aller Elemente (Elemente) in Klammern () (getrennt durch Kommas) erstellt werden. Klammern sind optional, aber es ist eine gute Gewohnheit, Klammern zu verwenden.
Tupel können eine beliebige Anzahl von Elementen haben und können verschiedene Typen (Ganzzahl, Fließkommazahl, Liste,Zeichenkette).
Tupel können auch ohne Klammern erstellt werden. Dies wird als Tupel-Wrappeing bezeichnet.
Mit einem Element einen Tupel zu erstellen ist etwas Besonderes.
Ein Tupel mit einem Element ist etwas Besonderes. Um dies als Tupel zu kennzeichnen, benötigen wir einen Komma am Ende.
my_tuple = ("hello") print(type(my_tuple)) # <class 'str'> # Erstellen eines Tupels mit einem Element my_tuple = ("hello",) print(type(my_tuple)) # <class 'tuple'> # Klammern sind optional my_tuple = "hello", print(type(my_tuple)) # <class 'tuple'>
Wir können die Elemente eines Tupels auf verschiedene Weisen aufrufen.
Wir können die Elemente eines von 0 beginnenden Index des Tupels mit dem Indexoperator [] aufrufen.
haben.6elemente Tupel wird Indizes von 0 bis5der Index. Versuchen Sie, auf ein Element außerhalb des Tupels zuzugreifen (z.B.6,7 ...) würde einen IndexError auslösen.
Indizes müssen Ganzzahlen sein; daher können wir keine float oder andere Typen verwenden. Dies würde einen TypeError verursachen.
Genauso können verschachtelte Indizes verwendet werden, um auf verschachtelte Tupel zuzugreifen, wie im folgenden Beispiel gezeigt.
my_tuple = ('p', 'e', 'r', 'm', 'i', 't') print(my_tuple[0]) # 'p' # Ausgabe: ('i', 'z')5]) # 't' # IndexError: Liste Index ist aus dem Bereich # print(my_tuple[6, [ # Indizes müssen Ganzzahlen sein # TypeError: Liste Indizes müssen Ganzzahlen sein, keine Fließkommazahlen # TypeError: 'tuple' Objekt unterstützt keine Elemente zuweisen2.0] # verschachtelte Tupel n_tuple = ("mouse", [8, 4, 6], (1, 2, 3)) # verschachtelte Indizes print(n_tuple[0][3]) # 's' print(n_tuple[1][1]) # 4
Python erlaubt negative Indizes für Sequenzen.
Index-1bedeutet das letzte Element,-2bedeutet das vorletzte Element, analog weiter.
my_tuple = ('p', 'e', 'r', 'm', 'i', 't') # Ausgabe: 't' # Ausgabe: ('i', 'z')-1, [ # Ausgabe: 'p' # Ausgabe: ('i', 'z')-6, [
.-Man kann den Schiebeoperator
my_tuple = ('p','r','o','g','r','a','m','i','z') print(my_tuple[:2Punkt "":" zur Zugriff auf eine Reihe von Projekten in einem Tupel.-4Elementen # Elementen # Ausgabe: ('i', 'z')1# Ausgabe: ('r', 'o', 'g')4, [ : # Von Anfang bis zum zweiten Element # Ausgabe: ('p', 'r')-7, [ print(my_tuple[:8# Der # Ein Element bis zum Ende # Ausgabe: ('i', 'z')7print(my_tuple[ :]) # Tupel können neu zugewiesen werden # Elemente vom Anfang bis zum Ende
print(my_tuple[:])
Tupel ändern
Im Gegensatz zu Listen sind Tupel nicht änderbar.
Dies bedeutet, dass die Elemente eines Tupels nach der Zuweisung nicht geändert werden können. Wenn jedoch die Elemente selbst änderbare Datentypen (wie Listen) sind, können ihre verschachtelten Projekte geändert werden.
Man kann auch Tupel verschiedenen Werten zuweisen (neu zuweisen).4, 2, 3# Ausgabe: (6, 5, [ my_tuple = ( # TypeError: 'tuple' Objekt unterstützt keine Elemente zuweisen1# my_tuple[ 9 ] = # Aber, wechselbare Elemente können geändert werden3my_tuple[ 9 ][0] =4, 2, 3# Ausgabe: (9, 5, [ print(my_tuple) ]) my_tuple = ('p','r','o','g','r','a','m','i','z') # Tupel können neu zugewiesen werden print(my_tuple)
# Ausgabe: ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')+verwendet werden könnenVerkettungsoperator verwenden, um zwei Tupel zu kombinieren. Dies wird auch.
Man kann auch den Operator*,die Elemente eines TupelsWiederholenvon der Anzahl der Wiederholungen.
unabhängig+und*Operation führt zu einem neuen Eintrag.
# Verkettung # Ausgabe: (1, 2, 3, 4, 5, 6) print(((1, 2, 3) + (4, 5, 6)) # Wiederholen # Ausgabe: ('Repeat', 'Repeat', 'Repeat') print(("Repeat",) * 3)
Wie gesagt, können wir die Elemente eines Tupels nicht ändern. Dies bedeutet auch, dass wir keine Projekte eines Tupels löschen oder ändern können.
aber man kann den SchlüsselwortdelEin Tupel vollständig löschen.
my_tuple = ('p','r','o','g','r','a','m','i','z') # Es können keine Einträge gelöscht werden # TypeError: 'tuple' Objekt unterstützt keine Elemente löschen # del my_tuple[3] # Es kann die gesamte Tupel gelöscht werden del my_tuple # NameError: Name 'my_tuple' ist nicht definiert print(my_tuple)
Tupel bieten keine Methoden zum Hinzufügen oder Entfernen von Elementen. Nur die folgenden beiden Methoden sind verfügbar.
Methode | Beschreibung |
---|---|
count(x) | Gibt die Anzahl der Elemente zurückx |
index(x) | Gibt zurück, obxIndex des ersten Elements |
Einige Beispiele für Python-Tupelmethoden:
my_tuple = ('a','p','p','l','e',) print(my_tuple.count('p')) # Output: 2 print(my_tuple.index('l')) # Output: 3
Wir können den Schlüssel 'in' verwenden, um zu testen, ob ein Element im Tupel vorhanden ist.
my_tuple = ('a','p','p','l','e',) # In-Operation # Ausgabe: True print('a' in my_tuple) # Ausgabe: False print('b' in my_tuple) # Not-in-Operation # Ausgabe: True print('g' not in my_tuple)
Mit dem for-Loop können wir durch jedes Element eines Tupels iterieren.
# Ausgabe: # Hallo John # Hallo Kate for name in ('John','Kate'): print("Hallo", name)
Da Tupel sehr ähnlich zu Listen sind, werden sie in ähnlichen Fällen ebenfalls verwendet.
Die Implementierung von Tupeln in Listen hat einige Vorteile. Nachfolgend sind einige der Hauptvorteile aufgeführt:
Wir verwenden normalerweise Tupel für heterogene (verschiedene) Datentypen und Listen für ähnliche Datentypen.
Da Tupel unveränderlich sind, ist das Durchlaufen eines Tupels schneller als das Verwenden einer Liste. Daher gibt es eine leichte Leistungserhöhung.
Tupel mit unveränderlichen Elementen können als Schlüssel für Dictionary verwendet werden. Das ist bei Listen nicht möglich.
Wenn Sie unveränderliche Daten haben, stellen Sie diese als Tupel dar, um sicherzustellen, dass sie schreibgeschützt bleiben.