Forskjeller mellom Python Tuple vs List

Python Tuple vs List er de mest brukte datastrukturer i Python. De lagrer en samling av elementer, enten objekter eller verdier i en spesifisert sekvens. De kan lagre elementer av hvilken som helst datatype, og dette elementet kan nås ved hjelp av indeksen. Dette er likhetene i lister og tupler, men hva er forskjellen?

Forskjellen er at en tuple er uforanderlig. Dette betyr at det ikke kan endres, endres eller manipuleres. En tuple brukes vanligvis nøyaktig til denne egenskapen. En av de mange bruksområdene for Python tuples er pakking av sekvenser, der vi lagrer de returnerte dataene til noen få spesifiserte variabler. La oss se på dette eksemplet for en tupel:

def test ()
retur 1, 2
a, b = test ()
ut (a, b)

Her har vi brukt en tuple for å returnere verdien fra funksjonen, og derfor kan vi ikke endre den mens vi skriver ut verdien.

En Python Tuple kan enten ikke ha noen parentes rundt seg eller parenteser som “()” Dette er det som hjelper Python til å forstå en liste fra en tuple. Python-listen er definert av firkantede parenteser. Funksjonaliteten ligner på hvordan en gruppe fungerer på andre språk. Eksempel:

x = (1, 3, 5, 6, 2, 1, 6) print (x): Skriver ut den komplette listen
print (x (0), x (1)): Skriver ut listen som starter ved indeks 0

Ofte forvirret på grunn av deres likhet, er disse to strukturene betydelig forskjellige.

Sammenligning fra topp til hode mellom Python Tuple vs List (Infographics)

Nedenfor er topp 6 sammenligning Python Tuple vs List

Viktige forskjeller mellom Python Tuple vs List

Nedenfor er listene med punkter, som beskriver de viktigste forskjellene mellom Python Tuple vs List:

Operasjoners funksjonalitet

Lister har supplerende innebygd funksjon sammenlignet med tupler. Lister og tupler har felles indeksen () og tellemetodene, men bortsett fra disse har lister mange funksjoner som bare gjelder spesifikt for lister som vedlegg (), fjern (), slett (), sortering (), revers ( ), etc.

Vi kan bruke den innebygde funksjonen dir ((objekt)) for å finne ut alle funksjonene assosiert med lister og tupler. Utdataene for en slik kommando vil være som følger:

Listeobjekt:

('__Legg til__',
'__klasse__',
'__Contains__',
'__Delattr__',
'__Delitem__',
'__Dir__',
'__Doc__',
'__Eq__',
'__format__',
'__Ge__',
'__Getattribute__',
'__Getitem__',
'__Gt__',
'__Hash__',
'__Iadd__',
'__Imul__',
'__i det__',
'__Init_subclass__',
'__Iter__',
'__Le__',
'__Len__',
'__Lt__',
'__Mul__',
'__Ne__',
'__ny__',
'__redusere__',
'__Reduce_ex__',
'__Repr__',
'__Reversed__',
'__Rmul__',
'__Setattr__',
'__Setitem__',
'__størrelsen av__',
'__Str__',
'__Subclasshook__',
'Append',
'klar',
'kopiere',
'telle',
'forlenge',
'Index',
'sett inn',
'Pop',
'fjerne',
'omvendt',
'sortere')

Tuple-objekt:

('__Legg til__',
'__klasse__',
'__Contains__',
'__Delattr__',
'__Dir__',
'__Doc__',
'__Eq__',
'__format__',
'__Ge__',
'__Getattribute__',
'__Getitem__',
'__Getnewargs__',
'__Gt__',
'__Hash__',
'__i det__',
'__Init_subclass__',
'__Iter__',
'__Le__',
'__Len__',
'__Lt__',
'__Mul__',
'__Ne__',
'__ny__',
'__redusere__',
'__Reduce_ex__',
'__Repr__',
'__Rmul__',
'__Setattr__',
'__størrelsen av__',
'__Str__',
'__Subclasshook__',
'telle',
'Indeks')

Vi kan se at det er flere funksjoner knyttet til en liste enn for en tuple.

Størrelsesevaluering

Tupleoperasjoner har en mindre størrelse enn for listoperasjoner. Dette gjør operasjonene raskere når det er et enormt antall elementer. La oss se et eksempel for å beregne størrelsen på listen og tupleelementene.

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 __ ())

Produksjon:

x = 104
y = 120

I dette eksemplet har vi en tuple x og en liste y som har samme antall elementer, men størrelsen på tupelen er mindre enn den på listen.

Tilfeller av forskjellige bruksområder

Til å begynne med kan det virke som om lister alltid vil kunne erstatte tuples, men dette er ikke tilfelle. Vi kan forstå dette på grunn av følgende årsaker:

  • Når en tuple brukes i motsetning til en liste, gir det betrakteren en ide om at dataene som er til stede kan og ikke bør endres.
  • Tuples brukes ofte til å lagre data som lik en ordbok uten nøkler.

Eksempel:

(('Ansatt1', 1000), ('Ansatt2', 1001), ('Ansatt3', 1002))

Tuples kan også brukes som nøkler i ordbøker på grunn av deres hashtable og uforanderlige natur. Lister er ikke passende for dette, da de ikke kan håndtere funksjonen __hash __ () og er mutable av natur.

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

  • Lesbarheten økes, det vil si at leseinformasjon er lettere når tuples er lagret i en liste, i motsetning til når lister er lagret på en liste. Eksempel:
((2, 4), (5, 7), (3, 8), (5, 9)) er lettere å lese enn ((2, 4), (5, 7), (3, 8), ( 5, 9))

Bruk av tuples og lister

Vi bruker en tuple når vi vet hvilken informasjon som skal gis, og vi trenger å lagre verdiene fra å bli endret, som når vi trenger å lagre legitimasjon for et nettsted. Tuples brukes også som nøkler for en ordbok fordi bare uforanderlige verdier kan hashes. Derfor kan vi ikke bruke en liste i slike tilfeller. Hvis vi fortsatt ønsker å bruke en liste som en nøkkel, må vi først konvertere listen til en tuple.

Og på den andre siden kan vi bruke en liste, når vi ønsker å endre verdiene som er gitt i samlingen, og også når vi ikke vet om samlingsstørrelsen vår er fast.

Sammenligningstabell for Python Tuples vs Lists

Nedenfor er den øverste sammenligningen mellom Python tuples vs Lists

Funksjoner lister

tupler

syntaxLister er definert av firkantede parenteser ().Tuples er definert av parentes () eller ingen parentes i det hele tatt.
Mutable vs ImmutableListen er mutbar i sin natur, dvs. den kan endres eller endres etter opprettelsen.En tuple er uforanderlig i naturen, dvs. at den ikke kan endres eller endres etter opprettelsen.

Tilgjengelige operasjonerInnebygde funksjoner i listen er mer sammenlignet med de i tuple, for eksempel pop (), sett inn (), etc.Tuple har færre innebygde funksjoner.
Størrelse sammenligningListeoperasjoner er større i størrelse sammenlignet med tupleoperasjoner.Tupleoperasjoner er mindre i størrelse, noe som gjør det raskere med mange elementer.

LengdeListene har en variabel lengde.

Tuples har faste lengder. Vi kan ikke endre størrelsen på en eksisterende tupel.
dobbelthetLister kan kopieresTuples kan ikke kopieres.

Konklusjon

Dette handler om Python Tuples vs Lists. Så nå som vi har forstått forskjellene mellom python tuples og lister, vil det være lettere for oss å bestemme hvilken av de to som skal brukes og hvor. Derfor kan vi konkludere med at selv om både lister og tuples er viktige datastrukturer i Python, er det bemerkelsesverdige forskjeller mellom dem, med den største forskjellen at lister er mutable mens tuplene ikke er det.

Anbefalt artikkel

Dette har vært en guide til forskjellen mellom python Tuple vs List. Her diskuterer vi også python Tuple vs List viktige forskjeller med infografikk og sammenligningstabell. Du kan også se på følgende artikler for å lære mer-

  1. Agile vs Waterfall - Topp forskjeller
  2. Digital Ocean vs AWS
  3. Røykprøving vs sanitetstesting
  4. Slik installerer du Python
  5. Typer Python-kompilatorer
  6. Ulike operasjoner relatert til tuples
  7. Forståelse av Python-listen
  8. Hva er fornuftstesting og hvordan fungerer det?