Website-Suche

Lernen Sie die Datenstruktur von Python-Tupeln kennen – Teil 2


In diesem Teil 2 der Python-Datenstrukturreihe besprechen wir, was ein Tupel ist, wie es sich von anderen Datenstrukturen in Python unterscheidet und wie man Tupelobjekte erstellt und löscht und Methoden von Tupelobjekten und wie sich Tupel von der Liste unterscheidet.

  • Python-Tupel ähneln der Listendatenstruktur, der Hauptunterschied zwischen Liste und Tupel besteht jedoch darin, dass die Liste ein veränderlicher Typ ist, während Tupel ein unveränderlicher Typ sind.
  • Tupel unterstützen Indizierungs- (sowohl positive als auch negative Indizierungs-) und Slicing-Vorgänge.
  • Tupel werden im Allgemeinen zum Speichern heterogener Daten verwendet.
  • Im Vergleich zur Listeniteration über Tupel ist es schnell.
  • Tupel können als „Schlüssel“ für Wörterbuchobjekte verwendet werden, da sie hashbar sind.
  • Wir können auch veränderliche Datentypen wie Liste, Menge usw. im Tupel speichern.
  • Elemente von Tupeln können nicht geändert werden, es sei denn, das Element ist vom veränderbaren Typ.
  • Tupel werden durch die Klammer "()" dargestellt.

Konstruieren Sie ein Tupelobjekt

Ähnlich wie list verfügt auch tuple über zwei Möglichkeiten, das Objekt zu erstellen.

  1. Tupel-Konstruktormethode „tuple()“.
  2. Klammer mit durch Komma getrennten Werten.

HINWEIS: Sie können leere Tupel oder Tupel mit vielen Werten erstellen, aber wenn Sie Tupel mit einem erstellen Wert sollten Sie ein abschließendes Komma hinzufügen, andernfalls wird es nicht als Tupelobjekt betrachtet.

Sie können Tupel auch ohne Klammern erstellen, indem Sie einer durch Kommas getrennten Variablen mehrere Werte zuweisen, die dann in ein Tupelobjekt konvertiert werden. Dies wird als Tupelpackung bezeichnet.

Tupel-Indizierung und Slicing

Ähnlich wie die list unterstützt auch tuple den Indexierungs- und Slicing-Vorgang.

Jedem Element im Tupel wird eine Indexposition beginnend bei (0) und eine negative Indexposition beginnend bei (-1) zugewiesen. Wir können auf die Indexposition zugreifen, um den Wert zu erhalten, oder wir können sogar das Tupelelement aktualisieren, wenn es nur veränderliche Typen wie eine Liste oder ein Set hat.

Wir können auch Slicing verwenden, um auf die Elemente in der Liste zuzugreifen. Durch das Slicing können wir auf eine Reihe von Elementen zugreifen, indem wir die Start-, End- und Schrittparameter definieren.

Da es sich bei Tupel um einen unveränderlichen Typ handelt, können Sie keine Elemente aus dem Tupel ändern oder entfernen. Wir können jedoch ein veränderliches Element, das in einem Tupel vorhanden ist, ändern oder löschen.

Betrachten Sie das Beispiel:

b = (1,2,3,'Leo',[12,13,14],(1.1,2.2))

Es gibt eine veränderbare Objektliste innerhalb von tuple b bei Index 4. Jetzt können wir die Elemente dieser Liste ändern oder löschen.

Tupelmethoden

Verwenden Sie die integrierte Funktion „dir()“, um auf die Methoden und Attribute für Tupelobjekte zuzugreifen.

count(x)-Methode – Gibt die Häufigkeit zurück, mit der x im Tupel vorhanden ist.

Index(x)-Methode – Gibt die erste Indexposition von x zurück.

Ähnlich wie bei der Liste können wir zwei Tupelobjekte mit dem Operator „+“ zu einem einzigen Objekt kombinieren.

Entfernen und Löschen eines Tupelobjekts

Da Tuple ein unveränderlicher Typ ist, können wir keine Elemente daraus entfernen. Wir können das Tupelobjekt aus dem Namespace löschen, indem wir das eingebaute Schlüsselwort “del ” verwenden.

Zusammenfassung

In diesem Artikel haben Sie gesehen, was ein Tupel ist, wie ein Tupel aufgebaut ist, wie Indizierungs- und Slicing-Operationen, Tupelmethoden usw. verwendet werden. Da Tupel ein unveränderlicher Typ ist, kann er als „“ verwendet werden key ” zu Wörterbuchobjekten. Das Durchlaufen eines Tupels ist im Vergleich zur Liste schneller. Es ist am besten, Tuple zu verwenden, wenn unsere Daten während unseres gesamten Programms konstant bleiben sollen.

Im nächsten Artikel werfen wir einen Blick auf ein weiteres integriertes Datenstrukturwörterbuch. Bis dahin können Sie hier mehr über Tuples lesen.