Skillnader mellan Python Tuple vs List

Python Tuple vs List är de mest använda datastrukturerna i Python. De lagrar en samling av objekt, antingen objekt eller värden i en specificerad sekvens. De kan lagra objekt av vilken datatyp som helst och det här objektet kan nås med hjälp av dess index. Det här är likheterna i listor och tupplar, men vad är skillnaden?

Skillnaden är att en tupel är oföränderlig. Detta innebär att det inte kan ändras, ändras eller manipuleras. En tupel används vanligtvis exakt för den här egenskapen. En av de många användningsområdena för Python-tuples är sekvensuppackning, där vi lagrar den returnerade informationen till några specificerade variabler. Låt oss titta på detta exempel för en tupel:

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

Här har vi använt en tupel för att returnera värdet från funktionen, och därför kan vi inte ändra det när vi skriver ut värdet.

En Python Tuple kan antingen inte ha några parenteser runt eller parenteser som "()" Det här är det som hjälper Python att förstå en lista från en tupel. Pythonlistan definieras av fyrkantiga parenteser. Dess funktionalitet liknar hur en matris fungerar på andra språk. Exempel:

x = (1, 3, 5, 6, 2, 1, 6) print (x): Skriver ut hela listan
print (x (0), x (1)): Skriver ut listan som börjar på Index 0

Ofta förvirrade på grund av deras likheter, dessa två strukturer är betydligt olika.

Jämförelse mellan huvud och huvud mellan Python Tuple vs List (Infographics)

Nedan visas topp 6 jämförelse Python Tuple vs List

Viktiga skillnader mellan Python Tuple vs List

Nedan finns listor med punkter, beskriv de viktigaste skillnaderna mellan Python Tuple vs List:

Verksamhetens funktionalitet

Listor har en kompletterande inbyggd funktion jämfört med tuples. Listor och tuples har gemensamt metoderna index () och count (), men andra än dessa har listor många funktioner som endast gäller specifikt för listor som append (), remove (), clear (), sort (), reverse () ), etc.

Vi kan använda den inbyggda funktionen dir ((objekt)) för att ta reda på alla funktioner associerade med listor och tuplingar. Utgången för ett sådant kommando skulle vara följande:

Listobjekt:

('__Lägg till__',
'__klass__',
'__Contains__',
'__Delattr__',
'__Delitem__',
'__Dir__',
'__Doc__',
'__Eq__',
'__formatera__',
'__Ge__',
'__Getattribute__',
'__Getitem__',
'__Gt__',
'__hash__',
'__jag lägger till__',
'__Imul__',
'__i det__',
'__Init_subclass__',
'__Iter__',
'__Le__',
'__Len__',
'__Lt__',
'__Mul__',
'__Ne__',
'__ny__',
'__minska__',
'__Reduce_ex__',
'__Repr__',
'__Reversed__',
'__Rmul__',
'__Setattr__',
'__Setitem__',
'__storlek av__',
'__Str__',
'__Subclasshook__',
'bifoga',
'klar',
'kopia',
'räkna',
'förlänga',
'index',
'Föra in',
'pop',
'ta bort',
'omvänd',
'sortera')

Tuple-objekt:

('__Lägg till__',
'__klass__',
'__Contains__',
'__Delattr__',
'__Dir__',
'__Doc__',
'__Eq__',
'__formatera__',
'__Ge__',
'__Getattribute__',
'__Getitem__',
'__Getnewargs__',
'__Gt__',
'__hash__',
'__i det__',
'__Init_subclass__',
'__Iter__',
'__Le__',
'__Len__',
'__Lt__',
'__Mul__',
'__Ne__',
'__ny__',
'__minska__',
'__Reduce_ex__',
'__Repr__',
'__Rmul__',
'__Setattr__',
'__storlek av__',
'__Str__',
'__Subclasshook__',
'räkna',
'index')

Vi kan se att det finns ytterligare funktioner kopplade till en lista än för en tupel.

Storleksbedömning

Tuple-operationer har en mindre storlek än för listoperationer. Detta gör operationerna snabbare när det finns ett enormt antal element. Låt oss se ett exempel för att beräkna storleken på listan och tupelelementen.

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

Produktion:

x = 104
y = 120

I det här exemplet har vi en tupel x och en lista y med samma antal objekt, men storleken på tupeln är mindre än listans.

Olika fall

Ursprungligen kan det tyckas att listor alltid kommer att kunna ersätta tuplor, men detta är inte fallet. Vi kan förstå detta på grund av följande skäl:

  • När en tuple används i motsats till en lista ger det tittaren en uppfattning om att de data som finns kan inte bör ändras.
  • Tuples används ofta för att lagra data som lika med en ordbok utan nycklar.

Exempel:

(('Anställd1', 1000), ('Anställd2', 1001), ('Anställd3', 1002))

Tuples kan också användas som nycklar i ordböcker på grund av deras hastiga och oföränderliga natur. Listor är inte lämpliga för detta eftersom de inte kan hantera funktionen __hash __ () och är muterbara.

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

  • Läsbarheten ökas, dvs läsinformation är lättare när tuples lagras i en lista, i motsats till när listor är lagrade i en lista. Exempel:
((2, 4), (5, 7), (3, 8), (5, 9)) är lättare att läsa än ((2, 4), (5, 7), (3, 8), ( 5, 9))

Användning av tuples och listor

Vi använder en tupel när vi vet vilken information som ska ges och vi måste spara värden från att ändras, som när vi behöver lagra referenser för en webbplats. Tuples används också som nycklar för en ordlista eftersom endast immutable värden kan hashas. Därför kan vi inte använda en lista i sådana fall. Om vi ​​fortfarande vill använda en lista som nyckel måste vi först konvertera listan till en tupel.

Och å andra sidan kan vi använda en lista, när vi vill ändra värdena som ges i samlingen, och även när vi inte vet om vår samlingsstorlek är fast.

Jämförelsetabell för Python Tuples vs Lists

Nedan visas den översta jämförelsen mellan Python-tuplor och listor

Funktioner listor

tupler

SyntaxListor definieras av fyrkantiga parenteser ().Tuples definieras av parentes () eller inga parenteser alls.
Muterbar vs oföränderligListan är muterbar till sin natur, dvs. den kan ändras eller ändras efter skapandet.En tupel är oföränderlig till sin natur, dvs den kan inte ändras eller ändras efter skapelsen.

Tillgängliga verksamheterInbyggda funktioner i listan jämförs mer med de i tuple, t.ex. pop (), insert (), etc.Tuple har färre inbyggda funktioner.
StorleksjämförelseListoperationerna är större i jämförelse med handlingen.Tuple-operationerna är mindre i storlek, vilket gör det snabbare med många element.

LängdListor har en variabel längd.

Tuples har fasta längder. Vi kan inte ändra storleken på en befintlig tupel.
FalskhetListor kan kopierasTuples kan inte kopieras.

Slutsats

Det här handlar om Python Tuples vs Lists. Så nu när vi har förstått skillnaderna mellan python tuples och listor, blir det lättare för oss att bestämma vilken av de två som ska användas och var. Därför kan vi dra slutsatsen att även om både listor och tuples är viktiga datastrukturer i Python, finns det betydande skillnader mellan dem, med den största skillnaden är att listor är förändrade medan tuples inte är det.

Rekommenderad artikel

Detta har varit en guide till skillnaden mellan python Tuple vs List. Här diskuterar vi också python Tuple vs List viktiga skillnader med infografik och jämförelsetabell. Du kan också titta på följande artiklar för att lära dig mer-

  1. Agile vs Waterfall - Topp skillnader
  2. Digital Ocean vs AWS
  3. Rökprovning vs sanitetsprövning
  4. Hur man installerar Python
  5. Typer av Python-kompilatorer
  6. Olika operationer relaterade till tuples
  7. Förståelse för Pythonlista
  8. Vad är sanitetstestning och hur fungerar det?

Kategori: