Liste vs. Tupel: Unterschied zwischen Liste und Tupel

Veröffentlicht: 2021-01-08

In Python sind Liste und Tupel eine Klasse von Datenstrukturen, die ein oder mehrere Objekte oder Werte speichern können. Eine Liste dient zum Speichern mehrerer Elemente in einer Variablen und kann mit eckigen Klammern erstellt werden. In ähnlicher Weise können Tupel auch mehrere Elemente in einer einzigen Variablen speichern und mit Klammern deklariert werden.

Obwohl es viele Unterschiede zwischen Liste und Tupel gibt, gibt es auch einige Ähnlichkeiten, wie folgt:

  • Die beiden Datenstrukturen sind beide Sequenzdatentypen, die Sammlungen von Elementen speichern.
  • In ihnen können Items beliebigen Datentyps gespeichert werden.
  • Auf Elemente kann über ihren Index zugegriffen werden.

Inhaltsverzeichnis

Liste vs. Tupel

Die folgende Tabelle enthält den grundlegenden Unterschied zwischen Liste und Tupel in Python.

Liste Tupel
Es ist wandelbar Es ist unveränderlich
Das Einbringen von Iterationen in die Liste ist zeitaufwändig. Implikationen von Iterationen sind viel schneller in Tupeln.
Operationen wie Einfügen und Löschen werden besser ausgeführt. Auf Elemente kann besser zugegriffen werden.
Verbraucht mehr Speicher. Verbraucht weniger Speicher.
Viele integrierte Methoden sind verfügbar. Hat nicht viele eingebaute Methoden.
In Listen kann es leicht zu unerwarteten Fehlern und Änderungen kommen.

Unerwartete Fehler und Änderungen treten in Tupeln selten auf.

Die folgenden Abschnitte enthalten eine detaillierte Version von Liste vs. Tupel zum besseren Verständnis.

Unterschied in der Syntax

Wie in der Einleitung erwähnt, unterscheiden sich die Syntax für Liste und Tupel. Zum Beispiel:

list_num = [10, 20, 30, 40]

tup_num = (10, 20, 30, 40)

Wandlungsfähigkeit

Einer der wichtigsten Unterschiede zwischen Liste und Tupel besteht darin, dass die Liste veränderlich ist, während ein Tupel unveränderlich ist. Das bedeutet, dass Listen geändert werden können und Tupel nicht geändert werden können.

Einige Operationen können also mit Listen arbeiten, aber nicht mit Tupeln. Wenn beispielsweise in der Datenwissenschaft eine Liste bereits existiert, können bestimmte Elemente davon neu zugewiesen werden. Dabei kann die gesamte Liste neu zugeordnet werden. Elemente und Segmente von Elementen können aus der Liste gelöscht werden.

Andererseits können bestimmte Elemente des Tupels nicht neu zugewiesen oder gelöscht werden, aber es ist möglich, es aufzuteilen und sogar das gesamte Tupel neu zuzuweisen und zu löschen. Da Tupel unveränderlich sind, können sie nicht kopiert werden.

Siehe: Python vs. Java

Operationen

Obwohl es viele Operationen gibt, die sowohl Listen als auch Tupeln ähneln, haben Listen zusätzliche Funktionalitäten, die bei Tupeln nicht verfügbar sind. Dies sind Einfüge- und Pop-Operationen sowie das Sortieren und Entfernen von Elementen in der Liste.

Funktionen

Einige der Python-Funktionen können auf beide Datenstrukturen angewendet werden, z. B. len, max, min, any, sum, all und sorted.

Größe

In Python werden Tupeln große Speicherblöcke mit geringerem Overhead zugewiesen, da sie unveränderlich sind; während für Listen kleine Speicherblöcke zugewiesen werden. Zwischen den beiden haben Tupel einen kleineren Speicher. Dies hilft dabei, Tupel schneller als Listen zu erstellen, wenn eine große Anzahl von Elementen vorhanden ist.

Art der Elemente

Elemente, die zu unterschiedlichen Datentypen gehören, dh heterogene Elemente, werden normalerweise in Tupeln gespeichert. Während homogene Elemente, Elemente des gleichen Datentyps, normalerweise in Listen gespeichert werden. Dies ist jedoch keine Einschränkung für die Datenstrukturen. Elemente ähnlicher Datentypen können in Tupeln gespeichert werden, und Elemente unterschiedlicher Datentypen können auch in Listen gespeichert werden.

Länge

Längen unterscheiden sich in den beiden Datenstrukturen. Tupel haben eine feste Länge, während Listen variable Längen haben. So kann die Größe erstellter Listen verändert werden, bei Tupeln ist dies nicht der Fall.

Debuggen

Wenn es um das Debuggen geht, sind Tupel in Listen vs. Tupeln aufgrund ihrer Unveränderlichkeit für große Projekte einfacher zu debuggen. Wenn es sich also um ein kleineres Projekt oder eine geringere Datenmenge handelt, ist es besser, Listen zu verwenden. Dies liegt daran, dass Listen geändert werden können, während Tupel dies nicht können, was das Nachverfolgen von Tupeln erleichtert.

Verschachtelte Listen und Tupel

Tupel können in Listen gespeichert werden, und ebenso können Listen in Tupeln gespeichert werden. In verschachtelten Tupeln kann ein Tupel mehrere Tupel enthalten. Und in verschachtelten Listen kann eine Liste mehrere Listen enthalten.

Verwendet

Es ist wichtig zu verstehen, dass es verschiedene Fälle gibt, in denen es besser ist, eine dieser Datenstrukturen zu verwenden, wie z. die Verwendung eines der beiden hängt vom Programmierer ab, dh die Auswahl hängt davon ab, ob er die Daten später ändern möchte oder nicht.

Tupel können als Äquivalent zu einem Wörterbuch ohne Schlüssel zum Speichern von Daten verwendet werden. Wenn Tupel in Listen gespeichert werden, ist es einfacher, Daten zu lesen.

Lesen Sie: Weitere Arten von Datenstrukturen in Python

Fazit

Dieser Artikel hilft beim Verständnis der Unterschiede zwischen Listen und Tupeln. Auch wenn es sich bei beiden Typen um Datenstrukturen in Python handelt, ist es wichtig, sich mit diesen Unterschieden vertraut zu machen, wenn man eine Wahl trifft. Die wichtigsten zu beachtenden Unterschiede sind, dass Listen änderbar sind und Tupel nicht, Listen variable Größen und Tupel feste Größen haben. Schließlich können Operationen in Tupeln schneller ausgeführt werden.

Wenn Sie diesen Artikel lesen, haben Sie höchstwahrscheinlich Ambitionen, Python-Entwickler zu werden. Wenn Sie daran interessiert sind, Python zu lernen und sich mit verschiedenen Tools und Bibliotheken vertraut machen möchten, sehen Sie sich das Executive PG Program in Data Science von IIIT-B & upGrad an.

Wann wird eine Python-Liste zum Speichern von Daten bevorzugt?

Die Python-Liste gilt als die beste Datenstruktur zum Speichern der Daten in den folgenden Szenarien: Eine Liste kann verwendet werden, um verschiedene Werte mit unterschiedlichen Datentypen zu speichern, und es kann nur über ihre jeweiligen Indizes zugegriffen werden. Wenn Sie mathematische Operationen mit den Elementen durchführen müssen, kann eine Liste verwendet werden, da Sie die Elemente direkt mathematisch bearbeiten können. Da eine Liste in der Größe verändert werden kann, kann sie zum Speichern der Daten verwendet werden, wenn Sie sich über die Anzahl der zu speichernden Elemente nicht sicher sind.

Geben Sie die verschiedenen Operationen von namedtuple an.

Das namedtuple in Python führt verschiedene Operationen aus. Im Folgenden finden Sie eine Liste einiger der häufigsten Operationen, die von namedtuple ausgeführt werden – Zugriff über Index, Zugriff über Schlüsselname, make(), _asadict(), Verwendung des Operators „**“ (Doppelstern), _fileds(), _replace (), etc.

Welche Möglichkeiten gibt es, eine Liste zu erstellen?

Eine Python-Liste kann auf mehrere Arten erstellt werden, die hier erwähnt werden. Verwenden von for-Schleifen - Eine for-Schleife ist die elementarste Art, eine Liste zu erstellen. Eine Liste kann mit einer for-Schleife auf drei einfache Arten erstellt werden: Erstellen einer leeren Liste, Iterieren über alle Elemente, die eingefügt werden sollen, Anhängen jedes Elements in der Liste mit der append()-Funktion. Verwendung von map(): Die Funktion map() in Python kann alternativ verwendet werden, um eine Liste zu erstellen. Diese Funktion akzeptiert zwei Parameter - Funktion: Die Funktion, an die die Zuordnung jedes Iterable übergibt, und Iterable: Das Element oder das Iterable, das zugeordnet werden soll. Verwenden von Listenverständnissen: Diese Methode ist die am besten optimierte aller drei Methoden. Während bei den obigen Methoden zunächst eine leere Liste erstellt werden muss, können Sie mit List Comprehensions alle Elemente einer Liste in einer einzigen Zeile einfügen.