Python Tuple vs nimekiri - 6 kõige väärtuslikumat erinevust, mida õppida

Lang L: none (table-of-contents):

Anonim

Erinevused Python Tuple vs loendi vahel

Python Tuple vs List on Pythonis kõige sagedamini kasutatavad andmestruktuurid. Nad salvestavad objektide või väärtuste kogumi määratletud järjestuses. Nad saavad salvestada mis tahes andmetüüpi üksusi ja sellele üksusele pääseb juurde indeksi abil. Need on sarnasused nimekirjade ja nippide vahel, kuid milles erinevus on?

Erinevus on selles, et nippel on muutumatu. See tähendab, et seda ei saa muuta, muuta ega sellega manipuleerida. Tavaliselt kasutatakse selle vara jaoks nippi. Üks paljudest Pythoni tüüpide kasutusvõimalustest on järjestuse lahtipakkimine, kus talletame tagastatud andmed väheste täpsustatud muutujatena. Vaatame selle näite kokkuvõte:

def test ()
tagasi 1, 2
a, b = test ()
print (a, b)

Oleme funktsiooni väärtuse tagastamiseks kasutanud nippe ja seega ei saa väärtuse printimisel seda muuta.

Python Tuple'il ei või olla sulgudes sulgudes ega sulgudes nagu “()”. See aitab Pythonil loendist aru saada. Pythoni loend on määratletud nurksulgudega. Selle funktsionaalsus on sarnane sellega, kuidas massiiv töötab teistes keeltes. Näide:

x = (1, 3, 5, 6, 2, 1, 6) print (x): Prindib täieliku nimekirja
print (x (0), x (1)): Prindib loendi alates indeksist 0

Need kaks struktuuri on oma sarnasuse tõttu sageli segaduses.

Võrdlus Python Tuple vs loendi vahel (infograafika)

Allpool on toodud 6 parimat võrdlusnäitajat Python Tuple vs nimekiri

Peamised erinevused Python Tuple vs loendi vahel

Allpool on punktide loendid, kirjeldage peamisi erinevusi Python Tuple vs loendi vahel:

Toimingute funktsionaalsus

Loenditel on täiendav sisseehitatud funktsioon, kui loenditega võrrelda. Loenditel ja tüüpilistel on ühised meetodid index () ja count (), kuid lisaks nendele on loenditel palju funktsioone, mis kehtivad ainult sellistele loenditele nagu append (), remove (), clear (), sort (), reverse ( ), jne.

Kõigi loendite ja tuppidega seotud funktsioonide väljaselgitamiseks saame kasutada sisseehitatud funktsiooni dir ((objekt)). Sellise käsu väljund oleks järgmine:

Objekti loend:

('__lisama__',
'__klass__',
'__sisaldab__',
'__delattr__',
'__delitem__',
'__dir__',
'__doc__',
'__eq__',
'__format__',
'__ge__',
'__getattribute__',
'__getitem__',
'__gt__',
'__hash__',
'__iadd__',
'__imul__',
'__selles__',
'__init_subclass__',
'__iter__',
'__le__',
'__len__',
'__lt__',
'__mul__',
'__ne__',
'__new__',
'__reduce__',
'__reduce_ex__',
'__repr__',
'__reversed__',
'__rmul__',
'__setattr__',
'__setitem__',
'__uurus__',
'__str__',
'__subclasshook__',
'lisa',
'selge',
'koopia',
'loendama',
'laiendada',
'indeks',
'sisesta',
'pop',
'eemalda',
'tagurpidi',
'sorteerima')

Tuple objekt:

('__lisama__',
'__klass__',
'__sisaldab__',
'__delattr__',
'__dir__',
'__doc__',
'__eq__',
'__format__',
'__ge__',
'__getattribute__',
'__getitem__',
'__getnewargs__',
'__gt__',
'__hash__',
'__selles__',
'__init_subclass__',
'__iter__',
'__le__',
'__len__',
'__lt__',
'__mul__',
'__ne__',
'__new__',
'__reduce__',
'__reduce_ex__',
'__repr__',
'__rmul__',
'__setattr__',
'__uurus__',
'__str__',
'__subclasshook__',
'loendama',
'indeks')

Näeme, et loendiga on seotud ka muid funktsioone kui tüübi jaoks.

Suuruse hindamine

Tuple-toimingud on väiksemad kui loenditoimingud. See muudab toimingud kiiremaks, kui elemente on tohutult palju. Vaatame näidet, kuidas arvutada loendi ja tuple elementide suurus.

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 .__ suurus __ ())
print ('y =', y .__ suurus __ ())

Väljund:

x = 104
y = 120

Selles näites on meil rühm x ja nimekiri y, millel on sama arv üksusi, kuid tüübi suurus on väiksem kui loendis.

Mitmekülgse kasutamise juhtumid

Esialgu võib tunduda, et nimekirjad suudavad alati asendada nippe, kuid see pole nii. Saame sellest aru järgmistel põhjustel:

  • Kui loendit kasutatakse erinevalt tüübist, annab see vaatajale aimu, et olemasolevaid andmeid saab ja ei tohiks muuta.
  • Tuppe kasutatakse sageli andmete salvestamiseks võrdsena võtmeteta sõnastikuga.

Näide:

(('Töötaja1', 1000), ('Töötaja2', 1001), ('Töötaja3', 1002))

Tuppe saab nende räsitava ja muutumatu olemuse tõttu kasutada ka sõnastike võtmetena. Loendid pole selleks sobivad, kuna nad ei saa funktsiooni __hash __ () hakkama ja on oma olemuselt muudetavad.

key_value = (('a', 'b'): 1) # kehtiv
key_value = (('a', 'b'): 1) #kehtetu

  • Loetavus on paranenud, st teabe lugemine on lihtsam, kui pillid loendisse salvestatakse, mitte siis, kui loendeid loendis hoitakse. Näide:
((2, 4), (5, 7), (3, 8), (5, 9)) on kergemini loetav kui ((2, 4), (5, 7), (3, 8), ( 5, 9))

Tuplite ja nimekirjade kasutamine

Kasutame nippi, kui teame, millist teavet tuleb anda, ja peame hoidma väärtuste muutmise, nagu näiteks siis, kui peame veebisaidi mandaate salvestama. Tuppe kasutatakse ka sõnastiku võtmetena, sest räsitud saab olla ainult muutumatud väärtused. Seega ei saa me sellistel juhtudel nimekirja kasutada. Kui soovime endiselt kasutada loendit võtmena, peame esmalt selle loendi tuplaks teisendama.

Ja teisest küljest saame loendit kasutada siis, kui soovime muuta kollektsioonis antud väärtusi ja ka siis, kui me ei tea, kas meie kollektsiooni suurus on fikseeritud.

Python Tuples vs nimekirjade võrdlustabel

Allpool on ülim võrdlus Pythoni loendite ja loendite vahel

Funktsioonid Nimekirjad

Tuplid

SüntaksLoendid määratletakse nurksulgudes ().Kaksikud on määratletud sulgudes () või sulgudeta.
Muutuv vs muutumatuLoend on oma olemuselt muutuv, st seda saab pärast loomist muuta või muuta.Nupp on oma olemuselt muutumatu, st seda ei saa pärast loomist muuta ega muuta.

Saadaolevad toimingudLoendis olevaid sisseehitatud funktsioone võrreldakse rohkem pakutavate funktsioonidega, nt pop (), insert () jne.Tuple'il on vähem sisseehitatud funktsioone.
Suuruse võrdlusLoenditoimingud on suurem kui paarisoperatsioonidega võrreldes.Tuple operatsioonid on väiksema suurusega, mis muudab selle paljude elementide abil kiiremaks.

PikkusLoenditel on erinev pikkus.

Tuppidel on fikseeritud pikkused. Me ei saa olemasoleva tüübi suurust muuta.
KahesusLoendeid saab kopeeridaTuppe ei saa kopeerida.

Järeldus

See kõik puudutab Python Tuples vs Lists. Nüüd, kui oleme aru saanud python-tüüpide ja loetelude erinevustest, on meil lihtsam otsustada, kumba neist tuleks kasutada ja kus. Seetõttu võime järeldada, et ehkki nii loendid kui ka tüübid on Pythonis olulised andmestruktuurid, leidub nende vahel märkimisväärseid erinevusi, suurimaks erinevuseks on see, et loendid on muudetavad, samas kui tüübid mitte.

Soovitatav artikkel

See on juhend erinevusest python Tuple vs loendi vahel. Siin käsitleme ka python Tuple vs loetelu peamisi erinevusi infograafika ja võrdlustabeliga. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -

  1. Agile vs juga - suurimad erinevused
  2. Digitaalne ookean vs AWS
  3. Suitsu testimine vs meelerahu testimine
  4. Kuidas paigaldada Python
  5. Pythoni kompilaatorite tüübid
  6. Tuples seotud erinevad operatsioonid
  7. Pythoni nimekirja mõistmine
  8. Mis on sanity testimine ja kuidas see töötab?