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+)

>>> tup1 = ('Google', 'Example', 1997, 2000)
>>> 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+)

>>> tup1 = (50)
>>> 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+)

#!/usr/bin/python3 tup1 = ('Google', 'Example', 1997, 2000) tup2 = (1, 2, 3, 4, 5, 6, 7 ) print ("tup1[0]: ", tup1[0]) print ("tup2[1:5]: ", tup2[1:5])

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+)

#!/usr/bin/python3 tup1 = (12, 34.56) tup2 = ('abc', 'xyz') # Die folgende Operation zum Ändern eines Tupelelements ist unzulässig. # tup1[0] = 100 # Ein neues Tupel erstellen tup3 = tup1 + tup2 print (tup3)

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+)

#!/usr/bin/python3 tup = ('Google', 'Example', 1997, 2000) print (tup) del tup print ("Das Tupel tup nach dem Löschen:") print (tup)

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-AusdruckErgebnisBeschreibung
len((1, 2, 3))
3Anzahl 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)
TrueOb ein Element existiert
for x in (1, 2, 3): 
    print (x, end=" ")
1 2 3Iteration

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-AusdruckErgebnisBeschreibung
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 = ('Google', 'Example', 'Taobao', 'Wiki', 'Weibo','Weixin')
>>> 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 NummerMethode und BeschreibungBeispiel
1len(tuple)
Zählt die Anzahl der Elemente in einem Tupel.
>>> tuple1 = ('Google', 'Example', 'Taobao')
>>> len(tuple1)
3
>>> 
2max(tuple)
Gibt den maximalen Wert der Elemente in einem Tupel zurück.
>>> tuple2 = ('5', '4', '8')
>>> max(tuple2)
'8'
>>> 
3min(tuple)
Gibt den minimalen Wert der Elemente in einem Tupel zurück.
>>> tuple2 = ('5', '4', '8')
>>> min(tuple2)
'4'
>>> 
4tuple(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 = ('r', 'u', 'n', 'o', 'o', 'b')
>>> 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