Tipuri de structuri de date în Python: listă, tuplu, seturi și dicționar

Publicat: 2020-12-30

Python este un limbaj preferat din toate timpurile pentru toți pasionații de știința datelor. Natura versatilă și abordarea ușor de înțeles îi ajută pe dezvoltatori să se concentreze mai mult pe înțelegerea tendințelor în date și pe obținerea de informații semnificative, mai degrabă decât să petreacă timp pentru a remedia o eroare minoră cu punct și virgulă sau pe închiderea suportului superior. Python fiind cel mai popular limbaj printre începători, este adaptat rapid, așa că devine important să aveți o bună înțelegere a acestui limbaj.

Structurile de date este un concept esențial în orice limbaj de programare. Acesta definește modul în care variabilele și datele pot fi stocate și preluate din memorie în cel mai bun mod posibil, în funcție de tipul de date. De asemenea, definește relația dintre variabile, ceea ce ajută la deciderea operațiilor și funcțiilor care ar trebui efectuate asupra acestora. Să înțelegem cum gestionează Python datele.

Cuprins

Tipuri de structură de date în Python

1. Lista

Aceasta este cea mai simplă și utilizată structură de date în programarea Python. După cum sugerează și numele, este o colecție de articole care trebuie depozitate. Elementele stocate pot fi de orice tip numeric, șir, boolean, obiecte etc. ceea ce îl face eterogen. Aceasta înseamnă că o listă poate avea orice tip de date și putem itera peste această listă folosind orice tip de buclă.

Elementele stocate sunt de obicei asociate cu un index care definește poziția în listă. Numerotarea indexului începe de la zero. Lista este mutabilă, ceea ce înseamnă că elementele din listă pot fi adăugate, eliminate sau modificate chiar și după definirea lor. Această structură de date este ca și matricele în alte limbi, care este de obicei omogenă, ceea ce înseamnă că doar un tip de date poate fi stocat în matrice. Câteva operațiuni de bază pe liste sunt următoarele:

  • Pentru a declara o listă în Python, puneți-o între paranteze drepte:

sample_list = ['upGrad', '1', 2]

  • Pentru a inițializa o listă goală:

sample_list = lista()

  • Adăugați elemente la listă:

sample_list.append('element_nou')

  • Eliminați elemente din listă:

sample_list.remove(<numele elementului>) elimină elementul specific

del sample_list[<element index num>] elimină elementul de la acel index

sample_list.pop(<element index num>) elimină elementul acelui index și returnează acel element eliminat

  • Pentru a schimba elementul la orice index:

sample_list[<orice index>] = articol nou

  • Tăiere : aceasta este o caracteristică importantă care poate filtra elementele din listă în anumite cazuri. Luați în considerare că aveți nevoie doar de un anumit interval de valori din listă, apoi puteți face acest lucru pur și simplu prin:

sample_list[start: stop: step] unde pasul definește decalajul dintre elemente și implicit este 1.

Aflați despre: Cum să creați un arbore decizional perfect

2. Tuplu

Aceasta este o altă structură de date care stochează secvențial datele, ceea ce înseamnă că datele adăugate rămân într-un mod ordonat ca și listele. Urmând aceleași linii, Tuple poate stoca și date eterogene, iar indexarea rămâne aceeași.

Diferența majoră dintre cele două este că elementele stocate în tuplu sunt imuabile și nu pot fi modificate după definire. Aceasta înseamnă că nu puteți adăuga elemente noi, nu puteți modifica elemente existente sau nu puteți șterge elemente din tuplu. Elementele pot fi citite numai prin indexare sau despachetare fără înlocuire.

Acest lucru face tuple mai rapid în comparație cu lista în ceea ce privește crearea. Tuplu este stocat într-un singur bloc de memorie, dar o listă necesită două blocuri, unul este de dimensiune fixă, iar celălalt este de dimensiune variabilă pentru stocarea datelor. Ar trebui să preferați un tuplu față de o listă atunci când utilizatorul este sigur că elementele care urmează să fie stocate nu necesită nicio modificare ulterioară. Câteva lucruri de luat în considerare atunci când utilizați un tuplu:

  • Pentru a inițializa un tuplu gol:

sample_tuple = tuplu()

  • Pentru a declara un tuplu, includeți elementele între paranteze circulare:

sample_tuple = ('upGrad', 'Python', 'ML', 23432)

  • Pentru a accesa elementele tuplului:

sample_tuple[<index_num>]

3. Seturi

În matematică, un set este o colecție bine definită de elemente unice care pot fi sau nu legate între ele. În tuple și listă, se pot stoca multe elemente duplicate fără eșec, dar structura de date setată preia doar elemente unice.

Elementele unui set sunt stocate într-un mod neordonat, ceea ce înseamnă că articolele sunt stocate aleatoriu în set și nu există o poziție sau un index definit, nici tăierea nu este permisă într-un set. Setul este în sine mutabil, dar elementele trebuie să fie imuabile, deoarece modul în care funcționează seturile sunt hashing aceste elemente și în acest proces, numai elementele imuabile pot fi hashing.

Elementele pot fi adăugate sau eliminate din set, dar nu pot fi modificate, deoarece nu există un concept de indexare și, prin urmare, elementele pot fi modificate. Ca și în matematică, și aici pot fi efectuate toate operațiile de mulțime precum unire, intersecție, diferență, disjuncție. Să vedem cum să o implementăm:

  • Pentru a inițializa un set gol:

sample_set = set()

  • Adăugați elemente la set:

sample_set.add(item) Aceasta adaugă un singur articol la set

sample_set.update(items) Aceasta poate adăuga mai multe elemente printr-o listă, tuplu sau alt set

  • Scoateți elemente din set:

sample_set.discard(item) Îndepărtează elementul fără avertisment dacă elementul nu este prezent

sample_set.remove(item) Ridică o eroare dacă elementul care trebuie eliminat nu este prezent.

  • Operații de set (Presumăm două seturi inițializate: A și B):

A | B sau A.union(B): Operare de unire

A & B sau A.intersection(B): Operare intersectie

A – B sau A.diferență(B): Diferența a două seturi

A ^ B sau A.symmetric_difference(B) : Diferența simetrică a mulțimilor

Verificați: Cadre de date în Python

4. Dicţionar

Aceasta este cea mai utilă structură de date din Python, care permite ca elementele de date să fie stocate într-o pereche cheie-valoare. Cheia trebuie să fie o valoare imuabilă, iar valoarea poate fi un element mutabil. Acest concept este ca și cum arată un dicționar real, unde avem cuvintele ca chei și semnificațiile lor ca valori. Un dicționar stochează aceste perechi într-un mod neordonat și, prin urmare, nu există un concept al indexului în această structură de date. Câteva lucruri importante legate de asta:

  • Pentru a inițializa un dicționar gol:

sample_dict = dict()

  • Pentru a adăuga elemente în dicționar:

sample_dict[cheie] = valoare

O altă modalitate de a face acest lucru este sample_dict = {key: value}

Dacă tipăriți acest dicționar, rezultatul ar fi: {'key1': value, 'key2': value … }

  • Pentru a obține cheile și valorile dicționarului:

sample_dict.keys(): returnează lista de chei

sample_dict.values(): returnează lista de valori

sample_dict.items(): returnează obiectul de vizualizare al perechilor cheie-valoare ca tuplu în listă

Învață cursuri de știință a datelor de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.

Concluzie

Este important să înțelegeți cunoștințele de bază ale structurilor de date în Python. Fiind în industria datelor, diferite structuri de date pot ajuta la obținerea unei soluții mai bune a algoritmilor de bază. Îl face pe dezvoltator mai conștient de cele mai bune practici de codificare pentru a obține rezultatele în mod eficient. Utilizarea fiecărei structuri de date se bazează în mare măsură pe situație și necesită o practică riguroasă.

Care este importanța structurilor de date?

Structurile de date sunt unul dintre pilonii de bază ai oricărui limbaj de programare. Ele definesc modul în care datele vor fi stocate și manipulate în memorie. Conceptele de structuri de date rămân aceleași indiferent de limbajul de programare despre care vorbim.

Cele mai comune structuri de date includ matrice, liste, stive, cozi, arbori, hărți hash și grafice. Unele dintre ele sunt încorporate, în timp ce altele trebuie implementate de către utilizator cu ajutorul structurilor de date predefinite.

Cum pot dezvolta o înțelegere puternică a structurilor de date?

Conceptele fundamentale ale implementării și funcționării oricărei structuri de date ar trebui să fie primul pas pe care ar trebui să-l faceți. După ce te-ai familiarizat cu conceptele teoretice și a lucrat, poți începe cu partea de codificare.

Ar trebui să studiați întotdeauna complexitățile de timp și de spațiu ale oricărui algoritm sau structură de date la care lucrați. Acest lucru vă va oferi o perspectivă adecvată asupra conceptului și veți putea rezolva orice întrebare care necesită acea structură de date particulară.

Când este preferată o listă Python pentru stocarea datelor?

O listă poate fi folosită pentru a stoca diferite valori cu diferite tipuri de date și poate fi accesată doar prin indicii respectivi. Când trebuie să efectuați operații matematice asupra elementelor, o listă poate fi folosită, deoarece vă permite să operați matematic elementele direct.

Deoarece o listă poate fi redimensionată, aceasta poate fi folosită pentru a stoca datele atunci când nu sunteți sigur de numărul de elemente care trebuie stocate.