Rozdíly mezi Python Tuple vs List

Python Tuple vs List je nejčastěji používanou datovou strukturou v Pythonu. Ukládají kolekci položek, buď objektů nebo hodnot, v určené posloupnosti. Mohou ukládat položky libovolného typu dat a k této položce lze přistupovat pomocí jejího indexu. To jsou podobnosti v seznamech a n-ticích, ale jaký je rozdíl?

Rozdíl je v tom, že n-tice je neměnná. To znamená, že nelze měnit, měnit ani manipulovat. Tuple se obvykle používá právě pro tuto vlastnost. Jedním z mnoha použití pro Pythonovy tuples je rozbalování sekvencí, kde ukládáme vrácená data do několika zadaných proměnných. Podívejme se na tento příklad pro n-tici:

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

Zde jsme použili n-tici k vrácení hodnoty z funkce, a proto při tisku hodnoty nemůžeme změnit.

Python Tuple může mít buď bez závorek kolem, nebo závorky jako "()" To je to, co pomáhá Python pochopit seznam z n-tice. Seznam Pythonu je definován hranatými závorkami. Jeho funkce je podobná tomu, jak pole funguje v jiných jazycích. Příklad:

x = (1, 3, 5, 6, 2, 1, 6) tisk (x): Vytiskne úplný seznam
print (x (0), x (1)): Vytiskne seznam začínající na Index 0

Tyto dvě struktury jsou často zmatené kvůli jejich podobnostem, které se výrazně liší.

Srovnání hlava-hlava mezi Python Tuple vs List (Infografika)

Níže je seznam nejlepších 6 porovnávání Python Tuple vs

Klíčové rozdíly mezi Python Tuple vs List

Níže jsou uvedeny seznamy bodů, popište klíčové rozdíly mezi Python Tuple vs List:

Funkčnost operací

Seznamy mají doplňkovou vestavěnou funkci ve srovnání s n-ticemi. Seznamy a n-tice mají společné metody index () a count (), ale jiné než tyto, seznamy mají mnoho funkcí, které se vztahují pouze na seznamy jako append (), remove (), clear (), sort (), reverse () ), atd.

Můžeme použít vestavěnou funkci dir ((object)) k nalezení všech funkcí spojených se seznamy a n-ticemi. Výstup pro takový příkaz by byl následující:

Objekt seznamu:

('__přidat__',
'__třída__',
'__contains__',
'__delattr__',
'__delitem__',
'__dir__',
'__doc__',
'__eq__',
'__formát__',
'__ge__',
'__getattribute__',
'__getitem__',
'__gt__',
'__hash__',
'__přidávám__',
'__imul__',
'__init__',
'__init_subclass__',
'__iter__',
'__le__',
'__len__',
'__lt__',
'__mul__',
'__ne__',
'__Nový__',
'__snížit__',
'__reduce_ex__',
'__repr__',
'__reversed__',
'__rmul__',
'__setattr__',
'__setitem__',
'__velikost__',
'__str__',
'__subclasshook__',
'připojit',
'Průhledná',
'kopírovat',
'počet',
'rozšířit',
'index',
'vložit',
'pop',
'odstranit',
'zvrátit',
'sort')

Tuple Object:

('__přidat__',
'__třída__',
'__contains__',
'__delattr__',
'__dir__',
'__doc__',
'__eq__',
'__formát__',
'__ge__',
'__getattribute__',
'__getitem__',
'__getnewargs__',
'__gt__',
'__hash__',
'__init__',
'__init_subclass__',
'__iter__',
'__le__',
'__len__',
'__lt__',
'__mul__',
'__ne__',
'__Nový__',
'__snížit__',
'__reduce_ex__',
'__repr__',
'__rmul__',
'__setattr__',
'__velikost__',
'__str__',
'__subclasshook__',
'počet',
'index')

Vidíme, že se seznamem jsou spojeny další funkce než pro n-tici.

Hodnocení velikosti

Tuple operace mají menší velikost než operace seznamu. Díky tomu je operace rychlejší, pokud existuje obrovské množství prvků. Podívejme se na příklad pro výpočet velikosti prvků seznamu 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)
tisk ('x =', x .__ velikost __ ())
print ('y =', y .__ size __ ())

Výstup:

x = 104
y = 120

V tomto příkladu máme n-tici x a seznam y, který obsahuje stejný počet položek, ale velikost n-tice je menší než velikost seznamu.

Případy různého použití

Zpočátku se může zdát, že seznamy budou vždy schopné nahradit n-tice, ale není tomu tak. Tomu můžeme rozumět z následujících důvodů:

  • Když se n-tice používá na rozdíl od seznamu, dává divákovi představu, že data, která jsou přítomna, se mohou a neměla by se měnit.
  • Tuples se často používají k ukládání dat jako stejný slovník bez klíčů.

Příklad:

((„Zaměstnanec1“, 1 000), („Zaměstnanec2“, 1001), („Zaměstnanec3“, 1002))

Tuples lze také použít jako klíče ve slovnících, protože mají hashovatelnou a neměnnou povahu. Seznamy k tomu nejsou vhodné, protože nezvládají funkci __hash __ () a jsou ve své podstatě proměnlivé.

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

  • Čitelnost se zvyšuje, tj. Čtení informací je snazší, když jsou n-tice uloženy v seznamu, na rozdíl od toho, kdy jsou seznamy uloženy v seznamu. Příklad:
((2, 4), (5, 7), (3, 8), (5, 9)) je lépe čitelné než ((2, 4), (5, 7), (3, 8), ( 5, 9))

Použití n-tic a seznamů

Tuple používáme, když víme, jaké informace mají být poskytnuty, a musíme zachránit hodnoty před úpravami, jako když potřebujeme uložit pověření pro web. Tuples se také používají jako klíče pro slovník, protože hašovat lze pouze neměnné hodnoty. V takových případech tedy nemůžeme použít seznam. Pokud chceme seznam stále používat jako klíč, musíme jej nejprve převést na n-tici.

A na druhé straně můžeme použít seznam, když chceme upravit hodnoty dané v kolekci a také když nevíme, zda je naše velikost sbírky pevná.

Tabulka Python Tuples vs Lists Comparison

Níže je nejvyšší srovnání mezi Pythonovými n-ticemi a seznamy

Funkce Seznamy

Tuples

SyntaxSeznamy jsou definovány hranatými závorkami ().Tuples jsou definovány závorkami () nebo bez závorek.
Meable vs NeměnnéSeznam je ve své podstatě proměnlivý, tj. Může být po jeho vytvoření změněn nebo změněn.Tuple je ve své podstatě neměnný, tj. Po jeho vytvoření nemůže být změněn ani změněn.

Dostupné operaceVestavěné funkce v seznamu jsou srovnávány s funkcemi v n-tice, např. Pop (), insert () atd.Tuple má méně vestavěných funkcí.
Porovnání velikostiOperace seznamu jsou větší ve srovnání s tuplovými operacemi.Tuple operace jsou menší, což zrychluje s mnoha prvky.

DélkaSeznamy mají proměnnou délku.

Tuples mají pevné délky. Nemůžeme změnit velikost existujícího n-tice.
DuplicitaSeznamy lze kopírovatNelze kopírovat n-tice.

Závěr

To je vše o Python Tuples vs seznamy. Teď, když jsme pochopili rozdíly mezi pythonovými tuplemi a seznamy, bude pro nás snazší rozhodnout, které z nich by se mělo použít a kde. Můžeme tedy dojít k závěru, že ačkoli oba seznamy a n-tice jsou důležitými datovými strukturami v Pythonu, mezi nimi jsou značné rozdíly, přičemž hlavní rozdíl spočívá v tom, že seznamy jsou zaměnitelné, zatímco n-tice nejsou.

Doporučený článek

Toto byl průvodce rozdílem mezi pythonem Tuple vs List. Zde diskutujeme také klíčové rozdíly pythonu Tuple vs List s infografikou a srovnávací tabulkou. Další informace naleznete také v následujících článcích

  1. Agilní vs vodopád - hlavní rozdíly
  2. Digitální oceán vs AWS
  3. Testování kouře vs. testování hygieny
  4. Jak nainstalovat Python
  5. Druhy překladačů Python
  6. Různé operace související s n-ticemi
  7. Porozumění seznamu Python
  8. Co je testování hygieny a jak to funguje?

Kategorie: