Care este diferența dintre listă și tuplu?

Publicat: 2021-11-28

Tuplul și listele sunt un tip de structură de date utilizat în Python. Listele stochează date într-o singură variabilă folosind paranteze pătrate, în timp ce tuplele stochează datele într-o singură variabilă cu ajutorul parantezelor. Ambele structuri sunt folosite pentru stocarea mai multor valori și obiecte.

Acest articol va analiza diferențele cheie dintre listă și tuplu și va explora cazurile de utilizare ale acestora. Dar mai întâi, să aruncăm o privire rapidă la asemănările de bază dintre ele:

  • Puteți stoca articole și obiecte de toate tipurile de date atât în ​​tupluri, cât și în liste.
  • Atât tuplele cât și lista permit accesarea datelor folosind indexul respectiv.
  • Ambele tipuri de date pot compila și cataloga o varietate de articole de date.

Cuprins

Python Tuple vs List

1. Diferențele de sintaxă

Declarația listelor și a tuplurilor este invariabil diferită în Python. Listele sunt declarate folosind paranteze pătrate „[]”, în timp ce declararea tuplurilor se face folosind „()”.

Iată un exemplu pentru a înțelege mai bine cum să declarați liste și tupluri în Python.

list_num = [7,8,9,10]

tup_num = (10,11,13,14)

print(list_num)

print(up_num)

Ieșirea acestei secvențe ar fi.

[7,8,9,10]

(10,11,13,14)

În acest exemplu, este definită o variabilă numită list_num care găzduiește numere de la 7 la 10. De asemenea, vedem că rezultatul este inclus între paranteze drepte. Cu toate acestea, variabila definită ca tup_num și care conține numerele de la 10 la 14 afișează o ieșire folosind paranteze.

Python folosește o funcție type() care ne ajută să înțelegem tipul de elemente create.

print(tip(num_up))

print(tip(list_num))

Ieșire:

<clasa „tuplu”>

<clasa „listă”>

2. Mutabilitate (mutabil vs imuabil)

Tuplurile și listele sunt contradictorii când vine vorba de mutabilitatea lor. Tuplurile sunt structuri imuabile care nu pot fi modificate sau schimbate după ce au fost create. Dimpotrivă, listele sunt structuri mutabile care pot fi ușor modificate sau modificate după crearea lor.

Numai tuplurile pot fi folosite ca cheie pentru dicționare, datorită naturii lor imuabile. Listele nu pot fi niciodată folosite ca chei atunci când este necesar.

3. Schimbarea unui obiect (List vs Tuple)

Să aflăm ce se întâmplă atunci când se creează o încercare de a face o modificare în listă.

nume = [alex, rick, martin]

nume [0] = „roxy”

Notă : primul element este întotdeauna denumit 0 și nu 1.

Acum să aruncăm o privire la cum ar arăta rezultatul după următoarea comandă:

>>>nume

Ieșire:

[roxy, rick, martin]

Rezultatul arată cum s-a schimbat primul element din listă.

Acum să vedem care ar fi rezultatul dacă s-ar folosi un tuplu.

nume = (alex, rick, martin)

Când un element din tuplu este schimbat folosind

nume(0) = „roxy”

Ieșirea va fi:

TypeError: obiectul „tuplu” nu acceptă atribuirea articolului.

Aceasta înseamnă că structura de date tuplu nu acceptă un obiect care a fost modificat ulterior. Prin urmare, putem concluziona că numai listele pot fi modificate și nu tuplele.

4. Copii vs Reutilizate

Nu se pot copia tupluri. Motivul aici este natura imuabilă a tuplurilor. De exemplu, dacă rulați un tuplu (nume_tup), veți vedea că a fost restaurat în sine.

Exemplu:

nume = ("allen","siri", "Michaela")

copyNames = tuplu(nume)

print(numele este copyNames)

Rezultatul de aici va fi – „Adevărat”.

Dimpotrivă, dacă încercați și faceți același lucru pentru o listă, (cum este ilustrat în exemplu):

Exemplu:

nume = [„allen”, „siri“’ „Michaela”]

copyNames = lista (nume)

print(numele este copyNames)

Ieșirea va fi afișată ca „fals”.

Ar trebui să copiați și să lipiți numele complete în noua listă pentru o ieșire adevărată.

5. Python Tuple vs List | Diferențele de mărime

Datorită naturii imuabile a tuplului, Python alocă doar amintiri de tuplu sub formă de blocuri mari cu supraîncărcare relativ scăzută. Pentru liste, Python oferă numai blocuri de memorie de dimensiuni mai mici. Ca rezultat, tuplurile au doar o cantitate mică de memorie în comparație cu listele. Cu toate acestea, aceasta înseamnă că tuplurile sunt mult mai rapid de utilizat decât listele atunci când sunt implicate multe elemente.

6. Eterogen vs Omogen

Tuplurile pot stoca elemente de diferite tipuri care sunt eterogene. Dimpotrivă, listele pot stoca caracteristici sau date ale aceleiași variante care sunt omogene.

Aceasta, însă, este doar o diferență semantică. De exemplu, listele pot stoca date de diferite tipuri, iar tuplurile pot stoca și date de același fel.

Exemplu:

list_elements = ['allen', 20, 'mary']

tuple_elements = („allen”, „mary”, „alex”)

Codul va rula perfect, chiar dacă lista are o combinație de numere și șiruri.

7. Diferențele de lungime

Listele și tuplurile variază, de asemenea, în lungime și dimensiune. În timp ce tuplurile variază în lungime, lungimea tuplului este fixă. Prin urmare, dimensiunea listelor poate fi schimbată oricând, spre deosebire de lungimea tuplurilor care rămân fixe odată definite.

Exemplu:

list_names = ['allen', 'mary', 'alex']

list_names.append(„roxy”)

print(liste_nume)

Ieșire:

['Allen','Mary','Alex','roxy']

Ieșirea exactă ar fi putut fi obținută și folosind funcția insert() în loc de funcția append() când este vorba despre liste.

Cu toate acestea, structura de date tuple nu ne oferă nicio modalitate de a-i modifica dimensiunea.

8. Cazuri de utilizare

În diferite circumstanțe, cel puțin una dintre aceste structuri de date funcționează bine. De obicei depinde de codificatorul programului pe care este utilizată structura de date. Structura datelor este aleasă în funcție de dacă elementele de date vor fi rescrise în viitor.

Tuplurile sunt mult mai vitale ca structuri de date în comparație cu liste, deoarece:

  • Folosirea tuplurilor în loc de liste poate informa codificatorul sau interpretul de date să nu modifice informațiile.
  • De asemenea, puteți restaura datele fără chei folosind un tuplu.
  • Tuplurile sunt echivalente cu dicționarele din Python.
  • Tuplurile stocate într-o listă sunt foarte ușor de citit.

Natura imuabilă și hashabilă a tuplurilor le face un înlocuitor perfect pentru dicționare. Pe de altă parte, nu puteți folosi liste pentru a înlocui dicționarele, deoarece acestea nu acceptă funcția _hash_().

Exemplu:

key_val= {('alex', 'curajos'):124} #Valid

key_val = {['alex', 'curajos']:124} #Invalid

9. Liste de cuibări și tupluri

Tuplurile și listele pot fi stocate unul în celălalt. Tuplurile care sunt imbricate pot conține mai multe tupluri. În mod similar, listele imbricate pot avea și mai multe liste.

10. Depanare

Tuplele sunt mult mai ușor de depanat în proiecte mai extinse în comparație cu liste. Acest lucru se datorează caracteristicilor imuabile ale tuplurilor. Cu toate acestea, atunci când este implicată o cantitate mult mai mică de date, se recomandă întotdeauna să se bazeze pe liste. Tuplurile sunt, de asemenea, mult mai ușor de urmărit, deoarece nu pot fi modificate, spre deosebire de liste, în care erorile sunt dificil de urmărit.

11. Funcții și operații

Python are câteva funcții benefice care pot fi aplicate tuplelor și listelor, cum ar fi sortat, sum, all, min, max, lean etc.

În ceea ce privește operațiunile, se pot găsi multe asemănări în liste și tupluri. Cu toate acestea, listele au câteva funcționalități suplimentare care sunt absente în tupluri. Acestea sunt în principal operațiuni de deschidere și inserare, alături de eliminarea și stocarea articolelor.

Recomandări cheie

  • Tuplurile au mai puține funcționalități decât listele.
  • Structura tuplului este imuabilă, în timp ce structura listelor este mutabilă.
  • Tuplurile vin în lungimi fixe, în timp ce lungimea listelor poate varia.
  • Sintaxa listei este reprezentată prin paranteze pătrate „[]”, în timp ce sintaxa tuplurilor este prezentată sub formă de paranteză „()”.
  • Tuplurile consumă mai puțină memorie în comparație cu listele.
  • Structura de date tuple este cea mai bună atunci când sunt implicate elemente de acces.
  • Lista de funcții este mai bună la efectuarea unor operațiuni specifice de ștergere și inserare.
  • Iterațiile implicate pe tupluri sunt mai rapide decât cele implicate pe liste.
  • Lista poate avea mai multe metode construite, în timp ce tuplu nu are niciuna.

Aflați în detaliu despre aspectele esențiale ale lui Python și despre conceptele sale avansate prin Masterul în Știința Datelor de 18 luni de la upGrad program în colaborare cu Liverpool John Moores University și IIIT Bangalore. Având la dispoziție o facultate de predare lider în industrie, peste 500 de ore de materiale de învățare și cursuri de rezolvare a îndoielilor, studenții au șansa de a stăpâni Python și alte elemente fundamentale ale științei datelor pentru a-și conduce cariera în consecință. În plus, programul ajută la dezvoltarea competențelor în peste 14 limbi și instrumente precum Tableau, MySQL, Excel, MongoDB și multe altele.

Deci, nu ezita. Contactează-ne astăzi!

Când să folosiți tupluri sau liste?

Dacă aveți nevoie ca elementele dvs. de date să fie doar pentru citire, atunci ar trebui să utilizați tupluri. Datele rămân constante în tuplu, datorită disponibilității garantate a datelor care nu se schimbă.

Listele, însă, sunt foarte mutabile. Prin urmare, datele din ele pot fi întotdeauna modificate. Mutarea, comutarea, ștergerea și adăugarea de elemente la o listă sunt foarte flexibile. Sunt utilizate cel mai bine atunci când datele necesită modificare în etapele ulterioare ale ciclului programului.

Sunt tuplurile mai rapide în comparație cu listele?

Da, crearea unui tuplu durează mult mai puțin decât crearea unei liste. Când se fac liste, trebuie accesat mai mult de un bloc de memorie. Se datorează faptului că elementele din tupluri nu pot fi eliminate și înlocuite, în timp ce caracteristicile din liste pot fi modificate de mai multe ori în timpul ciclului de program.

Unde sunt folosite tuplurile și listele în viața reală?

Se poate face o listă pentru a stoca pașii necesari pentru a găti un anumit fel de mâncare folosind o anumită rețetă. Lista implică acces secvenţial la date. Prin urmare, se poate accesa pașii în ordine. Pe de altă parte, tuplurile pot fi folosite pentru a stoca date precum longitudinea sau latitudinea reședinței tale. Acest lucru se datorează faptului că un tuplu este o colecție de date predefinite. De asemenea, puteți utiliza același tuplu pentru a stoca coordonatele locației altor locuri.