Python Tuple vs Liste - 6 Die wertvollsten Unterschiede zum Lernen

Inhaltsverzeichnis:

Anonim

Unterschiede zwischen Python Tuple und List

Python Tuple vs List ist die am häufigsten verwendete Datenstruktur in Python. Sie speichern eine Sammlung von Elementen, entweder Objekte oder Werte, in einer angegebenen Reihenfolge. Sie können Elemente eines beliebigen Datentyps speichern und auf dieses Element kann mit Hilfe seines Index zugegriffen werden. Dies sind die Ähnlichkeiten in Listen und Tupeln, aber was ist der Unterschied?

Der Unterschied ist, dass ein Tupel unveränderlich ist. Dies bedeutet, dass es nicht verändert, verändert oder manipuliert werden kann. Ein Tupel wird normalerweise genau für diese Eigenschaft verwendet. Eine der vielen Anwendungen für Python-Tupel ist das Entpacken von Sequenzen, bei dem die zurückgegebenen Daten in einigen angegebenen Variablen gespeichert werden. Schauen wir uns dieses Beispiel für ein Tupel an:

def test ()
return 1, 2
a, b = test ()
drucken (a, b)

In diesem Beispiel haben wir ein Tupel verwendet, um den Wert aus der Funktion zurückzugeben. Daher können wir ihn beim Drucken nicht ändern.

Ein Python-Tupel kann entweder keine Klammern oder Klammern wie „()“ enthalten. Dies hilft Python, eine Liste aus einem Tupel zu verstehen. Python-Liste wird durch eckige Klammern definiert. Seine Funktionalität ähnelt der Funktionsweise eines Arrays in anderen Sprachen. Beispiel:

x = (1, 3, 5, 6, 2, 1, 6) print (x): Druckt die vollständige Liste
print (x (0), x (1)): Druckt die Liste ab Index 0

Diese beiden Strukturen sind aufgrund ihrer Ähnlichkeiten häufig verwirrt und unterscheiden sich erheblich voneinander.

Head to Head Vergleich zwischen Python Tuple und List (Infografik)

Unten ist die Top 6 Vergleich Python Tuple vs List

Hauptunterschiede zwischen Python Tuple und List

Im Folgenden finden Sie eine Liste mit Punkten, die die wichtigsten Unterschiede zwischen Python Tuple und List beschreiben:

Funktionsweise von Operationen

Listen haben im Vergleich zu Tupeln eine zusätzliche eingebaute Funktion. Listen und Tupel haben die Methoden index () und count () gemeinsam, aber abgesehen von diesen haben Listen viele Funktionen, die nur für Listen wie append (), remove (), clear (), sort (), reverse () gelten. ), etc.

Wir können die eingebaute Funktion dir ((object)) verwenden, um alle mit Listen und Tupeln verbundenen Funktionen herauszufinden. Die Ausgabe für einen solchen Befehl wäre wie folgt:

Listenobjekt:

('__hinzufügen__',
'__Klasse__',
'__contains__',
'__delattr__',
'__delitem__',
'__dir__',
'__doc__',
'__eq__',
'__Format__',
'__ge__',
'__getattribute__',
'__getitem__',
'__gt__',
'__hash__',
'__ich füge hinzu__',
'__imul__',
'__drin__',
'__init_subclass__',
'__iter__',
'__le__',
'__len__',
'__lt__',
'__mul__',
'__ne__',
'__Neu__',
'__reduzieren__',
'__reduce_ex__',
'__repr__',
'__rückgängig gemacht__',
'__rmul__',
'__setattr__',
'__setitem__',
'__Größe von__',
'__str__',
'__subclasshook__',
'anhängen',
'klar',
'Kopieren',
'Anzahl',
'erweitern',
'Index',
'einfügen',
'Pop',
'entfernen',
'umkehren',
'Sortieren')

Tupel-Objekt:

('__hinzufügen__',
'__Klasse__',
'__contains__',
'__delattr__',
'__dir__',
'__doc__',
'__eq__',
'__Format__',
'__ge__',
'__getattribute__',
'__getitem__',
'__getnewargs__',
'__gt__',
'__hash__',
'__drin__',
'__init_subclass__',
'__iter__',
'__le__',
'__len__',
'__lt__',
'__mul__',
'__ne__',
'__Neu__',
'__reduzieren__',
'__reduce_ex__',
'__repr__',
'__rmul__',
'__setattr__',
'__Größe von__',
'__str__',
'__subclasshook__',
'Anzahl',
'Index')

Wir können sehen, dass es zusätzliche Funktionalitäten gibt, die mit einer Liste verknüpft sind als für ein Tupel.

Größenbewertung

Tupel-Operationen haben eine kleinere Größe als Listenoperationen. Dies beschleunigt die Operationen, wenn eine enorme Anzahl von Elementen vorhanden ist. Sehen wir uns ein Beispiel zur Berechnung der Größe der Listen- und Tupelelemente an.

x = (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
y = (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
print ('x =', x .__ sizeof __ ())
print ('y =', y .__ sizeof __ ())

Ausgabe:

x = 104
y = 120

In diesem Beispiel haben wir ein Tupel x und eine Liste y mit der gleichen Anzahl von Elementen, aber die Größe des Tupels ist kleiner als die der Liste.

Diverse Anwendungsfälle

Anfangs scheint es, als könnten Listen Tupel immer ersetzen, aber dies ist nicht der Fall. Wir können dies aus den folgenden Gründen verstehen:

  • Wenn ein Tupel anstelle einer Liste verwendet wird, kann der Betrachter erkennen, dass die vorhandenen Daten nicht geändert werden dürfen und dürfen.
  • Tupel werden häufig verwendet, um Daten wie ein Wörterbuch ohne Schlüssel zu speichern.

Beispiel:

(('Employee1', 1000), ('Employee2', 1001), ('Employee3', 1002))

Tupel können aufgrund ihrer Hashtabelle und Unveränderlichkeit auch als Schlüssel in Wörterbüchern verwendet werden. Listen sind hierfür nicht geeignet, da sie die Funktion __hash __ () nicht verarbeiten können und von Natur aus veränderlich sind.

key_value = (('a', 'b'): 1) #Valid
key_value = (('a', 'b'): 1) #Invalid

  • Die Lesbarkeit wird erhöht, dh das Lesen von Informationen ist einfacher, wenn Tupel in einer Liste gespeichert werden, als wenn Listen in einer Liste gespeichert werden. Beispiel:
((2, 4), (5, 7), (3, 8), (5, 9)) ist leichter zu lesen als ((2, 4), (5, 7), (3, 8), ( 5, 9))

Verwendung von Tupeln und Listen

Wir verwenden ein Tupel, wenn wir wissen, welche Informationen gegeben werden sollen, und müssen die Werte vor Änderungen schützen, beispielsweise wenn wir Anmeldeinformationen für eine Website speichern müssen. Tupel werden auch als Schlüssel für ein Wörterbuch verwendet, da nur unveränderliche Werte gehasht werden können. Daher können wir in solchen Fällen keine Liste verwenden. Wenn wir weiterhin eine Liste als Schlüssel verwenden möchten, müssen wir die Liste zuerst in ein Tupel konvertieren.

Andererseits können wir eine Liste verwenden, wenn wir die in der Sammlung angegebenen Werte ändern möchten und auch wenn wir nicht wissen, ob unsere Sammlungsgröße festgelegt ist.

Python Tuples vs Lists Vergleichstabelle

Unten ist der oberste Vergleich zwischen Python-Tupeln und Listen

Eigenschaften Listen

Tuples

SyntaxListen werden durch eckige Klammern () definiert.Tupel werden durch Klammern () oder gar keine Klammern definiert.
Veränderlich gegen unveränderlichDie Liste ist von Natur aus veränderlich, dh sie kann nach ihrer Erstellung geändert oder geändert werden.Ein Tupel ist von Natur aus unveränderlich, dh es kann nach seiner Erstellung nicht mehr verändert oder verändert werden.

Verfügbare OperationenEingebaute Funktionen in der Liste werden eher mit denen in Tupel verglichen, z. B. pop (), insert () usw.Tupel hat weniger eingebaute Funktionen.
GrößenvergleichListenoperationen sind im Vergleich zu Tupeloperationen größer.Tupel-Operationen sind kleiner, was sie bei vielen Elementen schneller macht.

LängeListen haben eine variable Länge.

Tupel haben feste Längen. Die Größe eines vorhandenen Tupels kann nicht geändert werden.
DuplizitätListen können kopiert werdenTupel können nicht kopiert werden.

Fazit

Hier geht es um Python Tuples vs Lists. Nachdem wir nun die Unterschiede zwischen Python-Tupeln und -Listen verstanden haben, fällt es uns leichter, zu entscheiden, welches der beiden verwendet werden soll und wo. Daher können wir schließen, dass, obwohl sowohl Listen als auch Tupel wichtige Datenstrukturen in Python sind, es zwischen ihnen bemerkenswerte Unterschiede gibt, wobei der Hauptunterschied darin besteht, dass Listen veränderlich sind, während Tupel dies nicht sind.

Empfohlener Artikel

Dies war eine Anleitung zum Unterschied zwischen Python Tuple und List. Hier diskutieren wir auch die wichtigsten Unterschiede zwischen Python Tuple und Liste mit Infografiken und Vergleichstabelle. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren.

  1. Agile vs Waterfall - Top Unterschiede
  2. Digital Ocean gegen AWS
  3. Smoke Testing vs Sanity Testing
  4. So installieren Sie Python
  5. Arten von Python-Compilern
  6. Verschiedene Operationen in Bezug auf Tupel
  7. Verständnis der Python-Liste
  8. Was ist Sanity Testing und wie funktioniert es?