Rozdiely medzi Python Tuple vs List

Zoznam Python Tuple vs List je najpoužívanejšou dátovou štruktúrou v Pythone. Ukladajú zbierku položiek, buď objektov alebo hodnôt, v určenom poradí. Môžu ukladať položky ľubovoľného typu údajov a k tejto položke je možné získať prístup pomocou indexu. Toto sú podobnosti v zoznamoch a n-tách, ale aký je rozdiel?

Rozdiel je v tom, že n-tica je nemenná. To znamená, že sa nemôže meniť, meniť ani manipulovať. Tuple sa zvyčajne používa práve pre túto vlastnosť. Jedným z mnohých spôsobov použitia Pythonových tuplov je rozbaľovanie sekvencií, kde ukladané údaje ukladáme do niekoľkých zadaných premenných. Pozrime sa na tento príklad pre n-ticu:

def test ()
návrat 1, 2
a, b = test ()
print (a, b)

Tu sme použili n-ticu na vrátenie hodnoty z funkcie, a preto pri jej tlačení ju nemôžeme zmeniť.

Pythonovský zväzok môže mať buď žiadne zátvorky alebo zátvorky ako „()“ Toto pomáha Pythonovi porozumieť zoznamu z n-tice. Zoznam Pythonu je definovaný hranatými zátvorkami. Jeho funkčnosť je podobná ako pole funguje v iných jazykoch. Príklad:

x = (1, 3, 5, 6, 2, 1, 6) tlač (x): Tlač celého zoznamu
print (x (0), x (1)): Vytlačí zoznam začínajúci na Index 0

Tieto dve štruktúry sú často zmätené z dôvodu ich podobností a sú výrazne odlišné.

Porovnanie vzájomných vzťahov medzi Python Tuple vs List (Infografika)

Nižšie je uvedený zoznam najlepších 6 porovnávaní Python Tuple vs

Kľúčové rozdiely medzi zoznamom Python Tuple vs

Nižšie sú uvedené zoznamy bodov, opíšte kľúčové rozdiely medzi Python Tuple vs List:

Funkčnosť operácií

Zoznamy majú v porovnaní s n-ticami doplnkovú zabudovanú funkciu. Zoznamy a n-tice majú spoločné metódy index () a count (), ale iné ako tieto, zoznamy majú veľa funkcií, ktoré sa vzťahujú iba na zoznamy ako append (), remove (), clear (), sort (), reverse () ), atď.

Pomocou vstavanej funkcie dir ((object)) môžeme zistiť všetky funkcie spojené so zoznamami a n-ticami. Výstup pre takýto príkaz by bol nasledovný:

Objekt zoznamu:

( '__Add__',
'__trieda__',
, __Contains__ '
, __Delattr__ '
, __Delitem__ '
, __Dir__ '
, __Doc__ '
, __Eq__ '
, __Format__ '
, __Ge__ '
, __Getattribute__ '
, __Getitem__ '
, __Gt__ '
, __Hash__ '
'__pridám__',
, __Imul__ '
, __Init__ '
, __Init_subclass__ '
, __Iter__ '
, __Le__ '
, __Len__ '
, __Lt__ '
, __Mul__ '
, __Ne__ '
'__Nový__',
, __Reduce__ '
, __Reduce_ex__ '
, __Repr__ '
, __Reversed__ '
, __Rmul__ '
, __Setattr__ '
, __Setitem__ '
'__veľkosť__',
, __Str__ '
, __Subclasshook__ '
, Pripojiť '
'jasný',
, Kopírovať '
, Počítať '
, Predĺženie '
, Index '
, Vložka ',
, Pop '
, Odstrániť '
, Reverzný ',
'Sort')

Tuple Object:

( '__Add__',
'__trieda__',
, __Contains__ '
, __Delattr__ '
, __Dir__ '
, __Doc__ '
, __Eq__ '
, __Format__ '
, __Ge__ '
, __Getattribute__ '
, __Getitem__ '
, __Getnewargs__ '
, __Gt__ '
, __Hash__ '
, __Init__ '
, __Init_subclass__ '
, __Iter__ '
, __Le__ '
, __Len__ '
, __Lt__ '
, __Mul__ '
, __Ne__ '
'__Nový__',
, __Reduce__ '
, __Reduce_ex__ '
, __Repr__ '
, __Rmul__ '
, __Setattr__ '
'__veľkosť__',
, __Str__ '
, __Subclasshook__ '
, Počítať '
'Index')

Vidíme, že so zoznamom sú spojené ďalšie funkcie ako pre n-ticu.

Vyhodnotenie veľkosti

Tuple operácie majú menšiu veľkosť ako operácie so zoznamom. Tým je prevádzka rýchlejšia, ak existuje obrovský počet prvkov. Pozrime sa na príklad, ako vypočítať veľkosť prvkov zoznamu a n-tice.

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

Výkon:

x = 104
y = 120

V tomto príklade máme n-ticu x a zoznam y, ktorý obsahuje rovnaký počet položiek, ale veľkosť n-tice je menšia ako veľkosť zoznamu.

Prípady rôzneho použitia

Spočiatku sa môže zdať, že zoznamy budú vždy schopné nahradiť n-tice, ale nie je tomu tak. Toto môžeme pochopiť z nasledujúcich dôvodov:

  • Ak sa n-tica používa na rozdiel od zoznamu, dáva divákovi predstavu, že prítomné údaje sa môžu a nemali by sa meniť.
  • Tuples sa často používajú na ukladanie údajov ako rovnaký slovník bez kľúčov.

Príklad:

((„Zamestnanec1“, 1 000), („Zamestnanec2“, 1001), („Zamestnanec3“, 1002))

Tuples môžu byť tiež použité ako kľúče v slovníkoch, pretože majú hashovanú a nemennú povahu. Zoznamy na to nie sú vhodné, pretože nedokážu spracovať funkciu __hash __ () a sú svojou povahou zameniteľné.

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

  • Čitateľnosť je zvýšená, tj čítanie informácií je jednoduchšie, keď sú n-tice uložené v zozname, na rozdiel od prípadov, keď sú zoznamy uložené v zozname. Príklad:
((2, 4), (5, 7), (3, 8), (5, 9)) sú čitateľnejšie ako ((2, 4), (5, 7), (3, 8), ( 5, 9))

Použitie nôh a zoznamov

Použijeme n-ticu, keď vieme, aké informácie sa majú poskytnúť, a musíme zachrániť hodnoty pred úpravami, napríklad keď potrebujeme uložiť poverenia pre webovú stránku. Tuples sa tiež používajú ako kľúče pre slovník, pretože hashované môžu byť iba nemenné hodnoty. Zoznam preto v takýchto prípadoch nemôžeme použiť. Ak stále chceme zoznam používať ako kľúč, musíme ho najprv skonvertovať na n-ticu.

A na druhej strane, môžeme použiť zoznam, keď chceme zmeniť hodnoty dané v kolekcii a tiež keď nevieme, či je naša veľkosť kolekcie fixná.

Tabuľka porovnania Python Tuples vs Zoznamy

Nižšie je uvedené najvyššie porovnanie medzi Pythonovými niťami a zoznamami

Vlastnosti zoznamy

tica

syntaxZoznamy sú definované hranatými zátvorkami ().Zvyšky sú definované v zátvorkách () alebo v zátvorkách.
Premeniteľné vs NemožnéZoznam je nemennej povahy, tj po jeho vytvorení sa môže zmeniť alebo zmeniť.Zväzok je svojou povahou nemenný, tj po jeho vytvorení sa nemôže zmeniť ani zmeniť.

Dostupné operácieVstavané funkcie v zozname sa porovnávajú s tými v tuplách, napr. Pop (), insert () atď.Tuple má menej vstavaných funkcií.
Porovnanie veľkostiOperácie so zoznamom majú väčšiu veľkosť v porovnaní s tuplovými operáciami.Tuple operácie sú menšie, čo zrýchľuje s mnohými prvkami.

dĺžkaZoznamy majú rôznu dĺžku.

Trice majú pevnú dĺžku. Nemôžeme zmeniť veľkosť existujúceho zväzku.
neúprimnosťZoznamy je možné kopírovaťTuple nie je možné kopírovať.

záver

Toto je všetko o Python Tuples vs Zoznamy. Takže teraz, keď sme pochopili rozdiely medzi pythonovými niťami a zoznamami, bude pre nás jednoduchšie rozhodnúť sa, ktoré z nich by sa malo použiť a kde. Preto môžeme dospieť k záveru, že aj keď sú zoznamy aj n-tice dôležitou dátovou štruktúrou v Pythone, medzi nimi sú značné rozdiely, pričom hlavný rozdiel spočíva v tom, že zoznamy sú zameniteľné, zatiaľ čo n-tice nie sú.

Odporúčaný článok

Toto bol sprievodca rozdielom medzi Python Tuple vs List. Tu diskutujeme aj kľúčové rozdiely medzi Pythonom Tuple a Zoznamom s infografikou a porovnávacou tabuľkou. Viac informácií nájdete aj v nasledujúcich článkoch

  1. Agile vs Waterfall - najväčšie rozdiely
  2. Digitálny oceán vs AWS
  3. Testovanie dymu verzus testovanie hygieny
  4. Ako nainštalovať Python
  5. Typy kompilátorov Python
  6. Rôzne operácie súvisiace s n-ticami
  7. Porozumenie zoznamu Python
  8. Čo je testovanie hygieny a ako to funguje?

Kategórie: