Python3 Tupel
Python-Tupel ähneln Listen, außer dass die Elemente eines Tupels nicht geändert werden können.
Tupel verwenden runde Klammern( ), Listen verwenden eckige Klammern[ ]。
Ein Tupel zu erstellen ist einfach: Füge einfach Elemente in runden Klammern ein, durch Kommas getrennt.

Beispiel (Python 3.0+)
>>> tup2 = (1, 2, 3, 4, 5 )
>>> tup3 = "a", "b", "c", "d" # Klammern sind auch nicht erforderlich
>>> type(tup3)
<class 'tuple'>
Ein leeres Tupel erstellen
tup1 = ()
Wenn ein Tupel nur ein Element enthält, musst du nach dem Element ein Komma hinzufügen,, andernfalls werden die Klammern als Operator behandelt:
Beispiel (Python 3.0+)
>>> type(tup1) # Ohne Komma ist der Typ Ganzzahl
<class 'int'>
>>> tup1 = (50,)
>>> type(tup1) # Mit einem Komma ist der Typ Tupel
<class 'tuple'>
Tupel sind Zeichenketten insofern ähnlich, als dass die Indexierung bei 0 beginnt, und sie können geschnitten, kombiniert usw. werden.

Zugriff auf Tupel
Tupel können Indexnummern verwenden, um auf Werte im Tupel zuzugreifen, wie im folgenden Beispiel:
Beispiel (Python 3.0+)
Die Ausgabe des obigen Beispiels ist:
tup1[0]: Google tup2[1:5]: (2, 3, 4, 5)
Tupel ändern
Die Elementwerte in einem Tupel dürfen nicht geändert werden, aber wir können Tupel verketten und kombinieren, wie im folgenden Beispiel:
Beispiel (Python 3.0+)
Die Ausgabe des obigen Beispiels ist:
(12, 34.56, 'abc', 'xyz')
Tupel löschen
Die Elementwerte in einem Tupel dürfen nicht gelöscht werden, aber wir können die del-Anweisung verwenden, um das gesamte Tupel zu löschen, wie im folgenden Beispiel:
Beispiel (Python 3.0+)
Nachdem das Tupel im obigen Beispiel gelöscht wurde, verursacht die Ausgabe der Variablen eine Ausnahmemeldung. Die Ausgabe ist wie folgt:
删除后的元组 tup :
Traceback (most recent call last):
File "test.py", line 8, in <module>
print (tup)
NameError: name 'tup' is not defined
Tupel-Operatoren
Wie bei Strings können Tupel das+、+=und*+ -Zeichen für Operationen verwenden. Das bedeutet, sie können kombiniert und kopiert werden, und nach der Operation wird ein neues Tupel erzeugt.
| Python-Ausdruck | Ergebnis | Beschreibung |
|---|---|---|
len((1, 2, 3)) | 3 | Anzahl der Elemente zählen |
>>> a = (1, 2, 3) >>> b = (4, 5, 6) >>> c = a+b >>> c (1, 2, 3, 4, 5, 6) | (1, 2, 3, 4, 5, 6) | Verkettung; c ist ein neues Tupel, das alle Elemente von a und b enthält. |
>>> a = (1, 2, 3) >>> b = (4, 5, 6) >>> a += b >>> a (1, 2, 3, 4, 5, 6) | (1, 2, 3, 4, 5, 6) | Verkettung; a wird zu einem neuen Tupel, das alle Elemente von a und b enthält. |
('Hi!',) * 4
| ('Hi!', 'Hi!', 'Hi!', 'Hi!') | Replikation |
3 in (1, 2, 3) | True | Ob ein Element existiert |
for x in (1, 2, 3):
print (x, end=" ") | 1 2 3 | Iteration |
Tupel-Indizierung und Slicing
Da ein Tupel auch eine Sequenz ist, können wir auf Elemente an bestimmten Positionen im Tupel zugreifen und auch einen Bereich von Elementen anhand von Indizes ausschneiden, wie unten gezeigt:
Tupel:
tup = ('Google', 'Example', 'Taobao', 'Wiki', 'Weibo','Weixin')

| Python-Ausdruck | Ergebnis | Beschreibung |
|---|---|---|
| tup[1] | 'Example' | Das zweite Element lesen |
| tup[-2] | 'Weibo' | Rückwärts lesen; das vorletzte Element lesen |
| tup[1:] | ('Example', 'Taobao', 'Wiki', 'Weibo', 'Weixin') | Slicing: alle Elemente ab dem zweiten Element |
| tup[1:4] | ('Example', 'Taobao', 'Wiki') | Slicing: vom zweiten Element bis zum vierten Element (Index 3) |
Ein durchgängiges Beispiel ist wie folgt:
Beispiel
>>> tup[1]
'Example'
>>> tup[-2]
'Weibo'
>>> tup[1:]
('Example', 'Taobao', 'Wiki', 'Weibo', 'Weixin')
>>> tup[1:4]
('Example', 'Taobao', 'Wiki')
>>>
Integrierte Funktionen für Tupel
Python-Tupel enthalten die folgenden eingebauten Funktionen
| Laufende Nummer | Methode und Beschreibung | Beispiel |
|---|---|---|
| 1 | len(tuple) Zählt die Anzahl der Elemente in einem Tupel. |
>>> tuple1 = ('Google', 'Example', 'Taobao')
>>> len(tuple1)
3
>>>
|
| 2 | max(tuple) Gibt den maximalen Wert der Elemente in einem Tupel zurück. |
>>> tuple2 = ('5', '4', '8')
>>> max(tuple2)
'8'
>>>
|
| 3 | min(tuple) Gibt den minimalen Wert der Elemente in einem Tupel zurück. |
>>> tuple2 = ('5', '4', '8')
>>> min(tuple2)
'4'
>>>
|
| 4 | tuple(iterable) Wandelt eine iterierbare Sequenz in ein Tupel um. |
>>> list1= ['Google', 'Taobao', 'Example', 'Baidu']
>>> tuple1=tuple(list1)
>>> tuple1
('Google', 'Taobao', 'Example', 'Baidu')
|
Über die Unveränderlichkeit von Tupeln
Die sogenannte Unveränderlichkeit eines Tupels bedeutet, dass der Inhalt im Speicher, auf den das Tupel zeigt, unveränderlich ist.
>>> tup[0] = 'g' # Das Ändern von Elementen wird nicht unterstützt
Traceback (jüngster Aufruf zuletzt):
Datei "<stdin>", Zeile 1, in <Modul>
TypeError: 'tuple' object does not support item assignment
>>> id(tup) # Die Speicheradresse überprüfen
4440687904
>>> tup = (1,2,3)
>>> id(tup)
4441088800 # Die Speicheradresse unterscheidet sich
Aus dem obigen Beispiel ist ersichtlich, dass das neu zugewiesene Tupel tup an ein neues Objekt gebunden ist und nicht das ursprüngliche Objekt verändert.
Andere Erweiterungen