Razlike med Python Tuple in List

Python Tuple vs List je najpogosteje uporabljena struktura podatkov v Python-u. Shranijo zbirko predmetov, bodisi predmetov ali vrednosti v določenem zaporedju. Lahko shranjujejo predmete katere koli vrste podatkov, do tega predmeta pa lahko dostopate s pomočjo indeksa. To so podobnosti v seznamih in tupolih, toda kakšna je razlika?

Razlika je v tem, da je nabor nespremenljiv. To pomeni, da ga ni mogoče spreminjati, spreminjati ali manipulirati. Za to lastnost se navadno uporablja nabor. Ena izmed številnih uporab Python-ovin je razpakiranje zaporedja, kamor vrnemo podatke v nekaj določenih spremenljivk. Oglejmo si ta primer za nabor:

def test ()
vrnitev 1, 2
a, b = test ()
natisni (a, b)

Tu smo uporabili tuple za vrnitev vrednosti iz funkcije, zato ga med tiskanjem vrednosti ne moremo spremeniti.

Python Tuple ima lahko oklepaje okrog sebe ali oklepaje, kot je "()" To je tisto, kar Pythonu pomaga razumeti seznam iz nabora. Seznam Python je opredeljen s kvadratnimi oklepaji. Njegova funkcionalnost je podobna delovanju matrike v drugih jezikih. Primer:

x = (1, 3, 5, 6, 2, 1, 6) print (x): Natisne celoten seznam
print (x (0), x (1)): Natisne seznam, začenši z indeksom 0

Ti dve strukturi sta pogosto zmedeni zaradi njunih podobnosti in se bistveno razlikujeta.

Primerjava med seznamoma Python Tuple proti seznamu (Infographics)

Spodaj je seznam top 6 primerjav Python Tuple proti seznamu

Ključne razlike med Python Tuple in List

Spodaj so seznami točk, opišite ključne razlike med Python Tuple proti Listom:

Funkcionalnost poslovanja

Seznami imajo v primerjavi s tupoli dodatno funkcijo vgradnje. Seznami in naboji imajo skupne metode indeksov () in štetja (), vendar razen teh imajo seznami številne funkcije, ki veljajo samo za sezname, kot so dodaj (), odstrani (), počisti (), razvrsti (), obrne ( ) itd.

S pomočjo vgrajene funkcije dir ((predmet)) lahko ugotovimo, katere funkcije so povezane s seznami in uvajanjem. Izhod za tak ukaz je naslednji:

Predmet seznama:

('__add__',
'__class__',
'__contain__',
'__delattr__',
'__delitem__',
'__dir__',
'__doc__',
'__eq__',
'__format__',
'__ge__',
'__getattribute__',
'__getitem__',
'__gt__',
'__hash__',
'__iadd__',
'__imul__',
'__v__',
'__init_subclass__',
'__iter__',
'__le__',
'__len__',
'__lt__',
'__mul__',
'__ne__',
'__new__',
'__reduce__',
'__reduce_ex__',
'__repr__',
'__reversed__',
'__rmul__',
'__setattr__',
'__setitem__',
'__sizeof__',
'__str__',
'__subclasshook__',
'dodaj',
'jasno',
'kopirati',
'šteti',
'podaljšati',
'indeks',
'vstavi',
'pop',
'Odstrani',
"vzvratno",
'razvrsti')

Tuple predmet:

('__add__',
'__class__',
'__contain__',
'__delattr__',
'__dir__',
'__doc__',
'__eq__',
'__format__',
'__ge__',
'__getattribute__',
'__getitem__',
'__getnewargs__',
'__gt__',
'__hash__',
'__v__',
'__init_subclass__',
'__iter__',
'__le__',
'__len__',
'__lt__',
'__mul__',
'__ne__',
'__new__',
'__reduce__',
'__reduce_ex__',
'__repr__',
'__rmul__',
'__setattr__',
'__sizeof__',
'__str__',
'__subclasshook__',
'šteti',
'indeks')

Vidimo, da obstajajo dodatne funkcije, povezane s seznamom, kot za nabor.

Vrednotenje velikosti

Operacije kroženja imajo manjše velikosti kot operacije na seznamu. Zaradi tega so operacije hitrejše, če obstaja ogromno število elementov. Poglejmo primer za izračun velikosti seznama in elementov.

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

Izhod:

x = 104
y = 120

V tem primeru imamo tuple x in seznam y, ki vsebuje isto število elementov, vendar je velikost nabora manjša od velikosti seznama.

Primeri za raznoliko uporabo

Na začetku se morda zdi, da bodo seznami vedno lahko nadomestili tupole, vendar to ne drži. To lahko razumemo zaradi naslednjih razlogov:

  • Kadar se tuplet uporablja v nasprotju s seznamom, daje gledalcu predstavo, da lahko prisotni podatki ne bi smeli spreminjati.
  • Tupleji se pogosto uporabljajo za shranjevanje podatkov kot enako slovarju brez tipk.

Primer:

((„Employee1“, 1000), („Employee2“, 1001), („Employee3“, 1002))

Tuple se lahko uporabljajo tudi kot ključi v slovarjih zaradi njihove spremenljive in nespremenljive narave. Seznami za to niso primerni, saj ne zmorejo funkcije __hash __ () in so po svoji naravi spremenljivi.

key_value = (('a', 'b'): 1) # veljavno
key_value = (('a', 'b'): 1) # Neveljavno

  • Čitljivost je večja, tj. Branje informacij je lažje, če so na seznamu shranjeni tupoli, v nasprotju s tem, ko so seznami shranjeni na seznamu. Primer:
((2, 4), (5, 7), (3, 8), (5, 9)) je lažje brati kot ((2, 4), (5, 7), (3, 8), ( 5, 9))

Uporaba naborkov in seznamov

Kopček uporabljamo, ko vemo, katere informacije je treba podati in moramo shraniti vrednosti pred spreminjanjem, na primer, ko moramo shraniti poverilnice za spletno mesto. Tuple se uporabljajo tudi kot ključi za slovar, ker se lahko prepršijo samo nespremenljive vrednosti. Zato seznama v takih primerih ne moremo uporabiti. Če želimo še vedno uporabiti seznam kot ključ, ga moramo najprej pretvoriti v nabor.

Po drugi strani pa lahko uporabimo seznam, kadar želimo spremeniti vrednosti, podane znotraj zbirke, in tudi kadar ne vemo, ali je naša velikost zbirke določena.

Primerjalna tabela Python Tuples proti seznamu

Spodaj je zgornja primerjava med Python tuples in Seznami

Lastnosti Seznami

Tuple

SintaksaSeznami so opredeljeni s kvadratnimi oklepaji ().Tupleji so opredeljeni z oklepaji () ali brez oklepajev.
Spremenljivo proti nespremenljiviSeznam je po svoji naravi spremenljiv, tj. Po njegovem nastanku ga je mogoče spremeniti ali spremeniti.Navoj je nespremenljiv, torej ga ni mogoče spremeniti ali spremeniti po nastanku.

Razpoložljive operacijeVgrajene funkcije na seznamu so bolj v primerjavi s funkcijami v tupleu, npr. Pop (), insert () itd.Tuple ima manj vgrajenih funkcij.
Primerjava velikostiOperacije s seznami so večje v primerjavi z operacijami nabora.Operacije korpusa so manjše, kar omogoča hitrejše delovanje z mnogimi elementi.

DolžinaSeznami imajo spremenljivo dolžino.

Tuple imajo določene dolžine. Ne moremo spremeniti velikosti obstoječega nabora.
DvoličnostSezname je mogoče kopiratiTupolov ni mogoče kopirati.

Zaključek

To je vse o Python Tuples vs Seznami. Zdaj, ko smo razumeli razlike med python tuples in seznami, se bomo lažje odločili, katerega od obeh uporabiti in kje. Zato lahko sklepamo, da čeprav so tako seznami kot naborki pomembni strukturi podatkov v Pythonu, so med njimi opazne razlike, glavna razlika pa je v tem, da so seznami spremenljivi, medtem ko tupoli niso.

Priporočeni članek

To je vodnik za razliko med python Tuple in List. Tukaj bomo razpravljali tudi o ključnih razlikah med python Tuple in Seznam s infografiko in primerjalno tabelo. Če želite izvedeti več, si oglejte tudi naslednje članke -

  1. Agile proti slapu - največje razlike
  2. Digital Ocean proti AWS
  3. Testiranje dima v primerjavi s testiranjem zdravega
  4. Kako namestiti Python
  5. Vrste prevajalnikov Python
  6. Različne operacije povezane s Tuplemi
  7. Razumevanje seznama Python
  8. Kaj je zdravo testiranje in kako deluje?