Was ist der Unterschied zwischen Liste und Tupel?
Veröffentlicht: 2021-11-28Tupel und Listen sind eine Art von Datenstruktur, die in Python verwendet wird. Listen speichern Daten in einer einzelnen Variablen mit eckigen Klammern, während Tupel Daten mit Hilfe von Klammern in einer Variablen speichern. Beide Strukturen werden zum Speichern mehrerer Werte und Objekte verwendet.
Dieser Artikel befasst sich mit den wichtigsten Unterschieden zwischen Liste und Tupel und untersucht ihre Anwendungsfälle. Aber zuerst werfen wir einen kurzen Blick auf die Kernähnlichkeiten zwischen ihnen:
- Sie können Elemente und Objekte aller Datentypen sowohl in Tupeln als auch in Listen speichern.
- Sowohl Tupel als auch Liste ermöglichen den Zugriff auf Daten über ihren jeweiligen Index.
- Diese beiden Datentypen können eine Vielzahl von Datenelementen zusammenstellen und katalogisieren.
Inhaltsverzeichnis
Python-Tupel vs. Liste
1. Syntaxunterschiede
Die Deklaration von Listen und Tupeln ist in Python immer anders. Listen werden mit '[]' eckigen Klammern deklariert, während die Deklaration von Tupeln mit '()' erfolgt.
Hier ist ein Beispiel, um besser zu verstehen, wie Listen und Tupel in Python deklariert werden.
list_num = [7,8,9,10]
tup_num = (10,11,13,14)
print(list_num)
print(tup_num)
Die Ausgabe an diese Sequenz wäre.
[7,8,9,10]
(10,11,13,14)
In diesem Beispiel wird eine Variable namens list_num definiert, die Zahlen von 7 bis 10 enthält. Wir sehen auch, dass die Ausgabe in eckige Klammern eingeschlossen ist. Die als tup_num definierte Variable, die die Zahlen von 10 bis 14 enthält, zeigt jedoch eine Ausgabe mit Klammern an.
Python verwendet eine type()-Funktion, die uns hilft, den Typ der erstellten Elemente zu verstehen.
print(type(tup_num))
print(type(list_num))
Ausgabe:
<Klasse 'Tupel'>
<Klasse 'Liste'>
2. Veränderlichkeit (veränderlich vs. unveränderlich)
Tupel und Listen sind widersprüchlich, wenn es um ihre Veränderlichkeit geht. Tupel sind unveränderliche Strukturen, die nach ihrer Erstellung nicht modifiziert oder geändert werden können. Im Gegensatz dazu sind Listen veränderliche Strukturen, die nach ihrer Erstellung leicht geändert oder modifiziert werden können.
Aufgrund ihrer unveränderlichen Natur können nur Tupel als Schlüssel zu den Wörterbüchern verwendet werden. Listen können bei Bedarf niemals als Schlüssel verwendet werden.
3. Ändern eines Objekts (Liste vs. Tupel)
Lassen Sie uns herausfinden, was passiert, wenn versucht wird, eine Änderung in der Liste vorzunehmen.
name = [alex, rick, martin]
name [0] = „roxy“
Hinweis : Das erste Element wird immer als 0 und nicht als 1 bezeichnet.
Schauen wir uns nun an, wie die Ausgabe nach dem folgenden Befehl aussehen würde:
>>>Name
Ausgabe:
[Roxy, Rick, Martin]
Die Ausgabe zeigt, wie sich das allererste Element in der Liste geändert hat.
Lassen Sie uns nun sehen, was das Ergebnis wäre, wenn ein Tupel verwendet würde.
name = (alex, rick, martin)
Wenn ein Element im Tupel mit geändert wird
name(0) = „roxy“
Die Ausgabe wird sein:
TypeError: 'Tupel'-Objekt unterstützt keine Elementzuweisung.
Das bedeutet, dass die Tupel-Datenstruktur ein später geändertes Objekt nicht unterstützt. Daraus können wir schließen, dass nur Listen geändert werden können und keine Tupel.
4. Kopien vs. Wiederverwendung
Tupel kann man nicht kopieren. Der Grund dafür ist die unveränderliche Natur von Tupeln. Wenn Sie beispielsweise ein Tupel (tup_name) ausführen, werden Sie sehen, dass es auf sich selbst wiederhergestellt wurde.
Beispiel:
Namen = ('allen“, „siri“, „Michaela“)
copyNames = Tupel (Namen)
print(names is copyNames)
Die Ausgabe hier ist – „True“.
Im Gegenteil, wenn Sie versuchen, dasselbe für eine Liste zu tun (wie im Beispiel veranschaulicht):
Beispiel:
Namen = ["allen", "siri"' "Michaela"]
copyNames = Liste (Namen)
print(names is copyNames)
Die Ausgabe wird als „false“ angezeigt.
Für eine echte Ausgabe müssten Sie die vollständigen Namen kopieren und in die neue Liste einfügen.
5. Python-Tupel vs. Liste | Größenunterschiede
Aufgrund der unveränderlichen Natur des Tupels weist Python Tupelspeicher nur in Form großer Blöcke mit relativ geringem Overhead zu. Für Listen stellt Python nur kleinere Speicherblöcke zur Verfügung. Infolgedessen haben Tupel im Vergleich zu Listen nur wenig Speicherplatz. Dies bedeutet jedoch, dass Tupel viel schneller zu verwenden sind als Listen, wenn viele Elemente beteiligt sind.
6. Heterogen vs. Homogen
Tupel können Elemente verschiedener Typen speichern, die heterogen sind. Im Gegensatz dazu können Listen Merkmale oder Daten derselben Variante homogen speichern.
Dies ist jedoch nur ein semantischer Unterschied. Beispielsweise können Listen Daten verschiedener Typen speichern, und Tupel können auch Daten derselben Art speichern.
Beispiel:
list_elements = ['allen', 20, 'mary']
tuple_elements = ('allen', "mary", 'alex')
Der Code wird nahtlos ausgeführt, obwohl die Liste eine Kombination aus Zahlen und Zeichenfolgen enthält.
7. Längenunterschiede
Listen und Tupel variieren auch in Länge und Größe. Während Tupel in der Länge variieren, ist die Länge des Tupels fest. Daher kann die Größe der Listen jederzeit geändert werden, im Gegensatz zur Länge der Tupel, die einmal definiert bleiben.
Beispiel:
list_names = ['allen', 'mary', 'alex']
list_names.append(“roxy”)
print(list_names)
Ausgabe:
['allen', 'mary', 'alex', 'roxy']
Die exakte Ausgabe hätte man bei Listen auch mit der Funktion insert() anstelle der Funktion append() erreichen können.
Die Tupel-Datenstruktur bietet uns jedoch keine Möglichkeit, ihre Größe zu ändern.
8. Anwendungsfälle
Unter anderen Umständen funktioniert mindestens eine dieser Datenstrukturen gut. Es hängt normalerweise vom Programmierer des Programms ab, welche Datenstruktur verwendet wird. Die Datenstruktur wird basierend darauf gewählt, ob die Datenelemente in der Zukunft neu geschrieben werden.
Tupel sind als Datenstrukturen im Vergleich zu Listen weitaus wichtiger, weil:
- Die Verwendung von Tupeln anstelle von Listen kann den Codierer oder den Dateninterpreter informieren, die Informationen nicht zu ändern.
- Sie können Daten auch ohne Schlüssel mithilfe eines Tupels wiederherstellen.
- Tupel sind äquivalent zu Wörterbüchern in Python.
- In einer Liste gespeicherte Tupel sind sehr einfach zu lesen.
Die unveränderliche und hashfähige Natur von Tupeln macht sie zu einem perfekten Ersatz für Wörterbücher. Andererseits können Sie keine Listen verwenden, um Wörterbücher zu ersetzen, da sie die Funktion _hash_() nicht unterstützen.
Beispiel:
key_val= {('alex', 'brave'):124} #Gültig
key_val = {['alex', 'brave']:124} #Ungültig
9. Verschachtelungslisten und Tupel
Tupel und Listen können ineinander gespeichert werden. Verschachtelte Tupel können mehr Tupel enthalten. Ebenso können verschachtelte Listen auch mehr Listen haben.
10. Fehlersuche
Tupel sind in umfangreicheren Projekten viel einfacher zu debuggen als Listen. Dies liegt an den unveränderlichen Eigenschaften von Tupeln. Wenn es sich jedoch um eine viel kleinere Datenmenge handelt, empfiehlt es sich immer, sich auf Listen zu verlassen. Tupel sind auch viel einfacher zu verfolgen, da sie nicht geändert werden können, im Gegensatz zu Listen, bei denen es schwierig ist, Fehlern zu folgen.
11. Funktionen und Operationen
Python hat einige nützliche Funktionen, die auf Tupel und Listen angewendet werden können, wie sortiert, sum, alle, min, max, mager usw.
Wenn es um Operationen geht, kann man viele Ähnlichkeiten in Listen und Tupeln finden. Listen haben jedoch einige zusätzliche Funktionalitäten, die in Tupeln fehlen. Dies sind hauptsächlich Pop- und Insert-Vorgänge sowie das Entfernen und Speichern von Elementen.
Die zentralen Thesen
- Tupel haben weniger Funktionalitäten als Listen.
- Die Struktur des Tupels ist unveränderlich, während die Struktur von Listen veränderlich ist.
- Tupel haben feste Längen, während die Länge der Listen variieren kann.
- Die Syntax der Liste wird durch „[]“ eckige Klammern dargestellt, während die Syntax von Tupeln in Form von „()“ Klammern dargestellt wird.
- Tupel verbrauchen im Vergleich zu Listen weniger Speicher.
- Die Tupel-Datenstruktur ist am besten, wenn auf Elemente zugegriffen wird.
- Die Funktionsliste ist besser in der Lage, bestimmte Operationen des Löschens und Einfügens auszuführen.
- Die mit Tupeln verbundenen Iterationen sind schneller als die mit Listen verbundenen.
- Die Liste kann mehrere gebaute Methoden haben, während das Tupel keine hat.
Erfahren Sie im 18-monatigen Master of Science in Data Science von upGrad mehr über Pythons Grundlagen und seine fortschrittlichen Konzepte Programm in Zusammenarbeit mit der Liverpool John Moores University und dem IIIT Bangalore. Mit branchenführenden Lehrkräften, über 500 Stunden Lernmaterial und Klassen zur Zweifelslösung haben die Schüler die Chance, Python und andere datenwissenschaftliche Grundlagen zu beherrschen, um ihre Karriere entsprechend zu steuern. Darüber hinaus hilft das Programm dabei, Kompetenzen in über 14 Sprachen und Tools wie Tableau, MySQL, Excel, MongoDB und mehr zu entwickeln.
Zögern Sie also nicht. Kontaktieren Sie uns noch heute!
Wann sollten Tupel oder Listen verwendet werden?
Wenn Ihre Datenelemente schreibgeschützt sein müssen, sollten Sie Tupel verwenden. Daten bleiben in Tupeln aufgrund ihrer garantierten Verfügbarkeit von sich nie ändernden Daten konstant.
Listen sind jedoch sehr wandelbar. Daher können die darin enthaltenen Daten jederzeit geändert werden. Das Verschieben, Wechseln, Löschen und Hinzufügen von Elementen zu einer Liste ist sehr flexibel. Sie werden am besten verwendet, wenn Daten in späteren Phasen des Programmzyklus geändert werden müssen.
Sind Tupel im Vergleich zu Listen schneller?
Ja, das Erstellen eines Tupels nimmt viel weniger Zeit in Anspruch als das Erstellen einer Liste. Wenn Listen erstellt werden, muss auf mehr als einen Speicherblock zugegriffen werden. Das liegt daran, dass Elemente in Tupeln nicht entfernt und ersetzt werden können, während die Merkmale in Listen während des Programmzyklus mehrmals geändert werden können.
Wo werden Tupel und Listen im wirklichen Leben verwendet?
Man kann eine Liste erstellen, um die erforderlichen Schritte zum Kochen eines bestimmten Gerichts mit einem bestimmten Rezept zu speichern. Die Liste beinhaltet einen sequentiellen Zugriff auf Daten. Daher kann man auf die Schritte der Reihe nach zugreifen. Andererseits können Tupel verwendet werden, um Daten wie den Längen- oder Breitengrad Ihres Wohnortes zu speichern. Dies liegt daran, dass ein Tupel eine Sammlung vordefinierter Daten ist. Sie können dasselbe Tupel auch verwenden, um die Standortkoordinaten anderer Orte zu speichern.