Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der Python-Tupeloperationen

Detaillierte Erläuterung der Python-Tupeloperationen

高洛峰
高洛峰Original
2017-01-13 16:22:592771Durchsuche

1. Erstellen Sie ein Tupel

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

Erstellen Sie ein leeres Tupel

tup1 = ();

Wenn ein Tupel nur ein Element enthält, müssen Sie nach dem Element ein Komma hinzufügen, um Mehrdeutigkeiten zu vermeiden

tup1 = (50,);

Tupel ähneln Zeichenfolgen. Der Index beginnt bei 0 und kann abgefangen, kombiniert usw. werden.
2. Greifen Sie auf das Tupel zu
Tupel kann den Index verwenden, um auf den Wert im Tupel zuzugreifen, wie im folgenden Beispiel gezeigt:

#!/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]
#以上实例输出结果:
#tup1[0]:  physics
#tup2[1:5]:  [2, 3, 4, 5]

3. Ändern Sie das Tupel
im tuple Elementwerte dürfen nicht geändert werden, aber wir können Tupel verbinden und kombinieren, wie im folgenden Beispiel gezeigt:

#!/usr/bin/python
tup1 = (12, 34.56);
tup2 = ('abc', 'xyz');
# 以下修改元组元素操作是非法的。
# tup1[0] = 100;
# 创建一个新的元组
tup3 = tup1 + tup2;
print tup3;
#以上实例输出结果:
#(12, 34.56, 'abc', 'xyz')

4. Tupel löschen
Elementwerte in Tupeln sind Das Löschen ist nicht zulässig. Wir können jedoch die del-Anweisung verwenden, um das gesamte Tupel zu löschen, wie im folgenden Beispiel gezeigt:

#!/usr/bin/python
tup = ('physics', 'chemistry', 1997, 2000);
print tup;
del tup;
print "After deleting tup : "
print tup;

#Nachdem das obige Beispieltupel gelöscht wurde, weist die Ausgabevariable eine Ausnahme auf Informationen, und die Ausgabe ist wie folgt:
#( 'Physik', 'Chemie', 1997, 2000)
#Nach dem Löschen von tup :
#Traceback (letzter Aufruf zuletzt):
# Datei „test.py“, Zeile 9, in # print tup;
#NameError: name 'tup' ist nicht definiert[/code]
5. Tupeloperator
Gefällt mir Zeichenfolgen kann das +-Zeichen zwischen Tupeln verwendet werden. Operieren Sie mit dem *-Zeichen. Dies bedeutet, dass sie kombiniert und kopiert werden können, wodurch ein neues Tupel entsteht.


6. Tupelindex, Abfangen
Da das Tupel auch eine Sequenz ist, können wir auf das Element an der angegebenen Position im Tupel zugreifen oder den Index A abfangen Abschnitt von Elementen, wie unten gezeigt:
Tupel:

L = ('spam', 'Spam', 'SPAM!')

7. Kein schließendes Trennzeichen
Jedes durch Kommas getrennte Objekt ohne Vorzeichen, der Standardwert ist ein Tupel, wie im folgenden Beispiel gezeigt:

#!/usr/bin/python
print 'abc', -4.24e93, 18+6.6j, 'xyz';
x, y = 1, 2;
print "Value of x , y : ", x,y;

Das obige Beispiel ermöglicht das Ergebnis:

abc -4.24e+93 (18+6.6j) xyz
Value of x , y : 1 2

8. Integrierte Tupelfunktionen
Python-Tupel enthalten die folgenden integrierten Funktionen
1 (tuple1, tuple2): Vergleicht zwei Tupelelemente.
2. len(tuple): Berechnen Sie die Anzahl der Tupelelemente.
3. max(tupel): Gibt den Maximalwert des Elements im Tupel zurück.
4. min(tupel): Gibt den Mindestwert des Elements im Tupel zurück.
5. tuple(seq): Konvertieren Sie die Liste in ein Tupel.


9. Eine andere Interpretation

Tupel ist der Liste sehr ähnlich, aber nach der Initialisierung kann das Tupel beispielsweise auch nicht geändert werden aufgelistet:

>>> classmates = ('Michael', 'Bob', 'Tracy')

Jetzt kann das Klassentupel nicht geändert werden und es verfügt nicht über Methoden wie append() und insert(). Andere Methoden zum Abrufen von Elementen sind dieselben wie Listen. Sie können Klassen[0] und Klassen[-1] normal verwenden, sie können jedoch nicht anderen Elementen zugewiesen werden.
Welche Bedeutung hat ein unveränderliches Tupel? Da Tupel unveränderlich sind, ist der Code sicherer. Verwenden Sie nach Möglichkeit Tupel anstelle von Liste. Fallen von
Tupel: Wenn Sie ein Tupel definieren, müssen die Elemente des Tupels zum Zeitpunkt der Definition bestimmt werden, zum Beispiel:

>>> t = (1, 2)
>>> t
(1, 2)

Wenn Sie ein leeres Tupel definieren möchten, können Sie dies tun schreibe ( ):

>>> t = ()
>>> t
()

Um jedoch ein Tupel mit nur 1 Element zu definieren, wenn du es so definierst:

>>> t = (1)
>>> t
1

definiert kein Tupel, sondern die Zahl 1! Dies liegt daran, dass Klammern () sowohl Tupel als auch Klammern in mathematischen Formeln darstellen können, was zu Mehrdeutigkeiten führt. Daher schreibt Python vor, dass in diesem Fall Berechnungen gemäß Klammern durchgeführt werden und das Berechnungsergebnis natürlich 1 ist.
Daher muss beim Definieren eines Tupels mit nur einem Element ein Komma hinzugefügt werden, um Mehrdeutigkeiten zu vermeiden:

>>> t = (1,)
>>> t
(1,)

Python fügt auch ein Komma hinzu, wenn ein Tupel mit nur einem Element angezeigt wird, damit Sie es nicht falsch verstehen als Klammern im Sinne mathematischer Berechnungen.

Sehen wir uns ein „variables“ Tupel an:

>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])

Dieses Tupel hat drei Elemente, wenn es definiert ist, nämlich „a“, „b“ und eine Liste. Bedeutet das nicht, dass ein Tupel unveränderlich ist, sobald es definiert ist? Warum hat sich das später geändert?

Keine Sorge, werfen wir einen Blick auf die drei Elemente, die im Tupel enthalten waren, als es definiert wurde:

Python 元组(Tuple)操作详解

Wenn wir die Listenelemente einfügen ' A‘ und ‚B‘ Nach dem Wechsel zu ‚X‘ und ‚Y‘ wird das Tupel zu:

Python 元组(Tuple)操作详解

Oberflächlich betrachtet haben sich die Elemente des Tupels zwar geändert, aber Tatsächlich haben sich nicht die Elemente des Tupels geändert, sondern die Elemente der Liste. Die Liste, auf die das Tupel am Anfang verweist, hat sich nicht in eine andere Liste geändert. Daher bedeutet die sogenannte „Unverändertheit“ des Tupels, dass sich jedes Element des Tupels niemals ändert. Das heißt, wenn es auf „a“ zeigt, kann es nicht so geändert werden, dass es auf „b“ zeigt. Wenn es auf eine Liste zeigt, kann es nicht so geändert werden, dass es auf andere Objekte zeigt, aber die Liste, auf die es zeigt, ist variabel!
Wie erstelle ich ein Tupel, dessen Inhalt sich nicht ändert, nachdem ich verstanden habe, dass sich der Zeiger nicht ändert? Dann muss sichergestellt werden, dass nicht jedes Element des Tupels selbst verändert werden kann.

Ausführlichere Erklärungen zu Python-Tupeloperationen und verwandte Artikel finden Sie auf der chinesischen PHP-Website!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn