Colecții în Python: tot ce trebuie să știți despre colecțiile Python



Acest blog va acoperi tipurile de date de colectare încorporate în python, împreună cu modulul de colecții, cu toate structurile de date de colectare specializate.

Limbajul de programare Python are patru tipuri de date de colectare- listă , tuplu, seturi și . Dar vine, de asemenea, cu un modul încorporat, cunoscut sub numele de colecții, care are structuri de date specializate, care acoperă practic deficiențele celor patru tipuri de date. În acest blog, vom parcurge în detaliu fiecare dintre aceste structuri de date specializate. Următoarele sunt subiectele acoperite în acest blog:

Ce sunt colecțiile în Python?

Colecțiile în python sunt în esență tipuri de date de containere, și anume liste, seturi, tupluri, dicționar. Au caracteristici diferite bazate pe declarație și utilizare.





ce este o eroare cheie
  • O listă este declarată între paranteze pătrate, este modificabilă, stochează valori duplicate și elementele pot fi accesate folosind indexuri.

  • Un tuplu este ordonat și imuabil în natură, deși intrări duplicate pot fi acolo în interiorul unui tuplu.



  • Un set este neordonat și declarat între paranteze drepte. Nu este indexat și nu are și intrări duplicate.

  • Un dicționar are perechi de valori cheie și este de natură mutabilă. Folosim paranteze pătrate pentru a declara un dicționar.

Acestea sunt tipurile de date încorporate în scopuri generale ale Python. Dar, după cum știm cu toții, python are întotdeauna ceva de oferit. Vine cu un modul python numit colecții care are structuri de date specializate.



Structuri de date de colectare specializate

Colecții modul în python implementează structuri de date specializate care oferă o alternativă tipurilor de date încorporate ale containerului Python. Următoarele sunt structurile de date specializate din modulul colecțiilor.

  1. namedtuple ()
  2. și
  3. Harta lanțului
  4. Tejghea
  5. OrderedDict
  6. defaultdict
  7. UserDict
  8. Listă de utilizatori
  9. UserString

namedtuple ()

Returnează un tuplu cu o intrare numită, ceea ce înseamnă că va exista un nume atribuit fiecărei valori din tuplu. Depășește problema accesării elementelor folosind valorile indexului. Cu namedtuple () devine mai ușor să accesați aceste valori, deoarece nu trebuie să vă amintiți valorile indexului pentru a obține elemente specifice.

Cum functioneaza?

În primul rând, trebuie să importați modulul de colecții, nu necesită instalare.

din colecții importați namedtuple

Uitați-vă la următorul cod pentru a înțelege modul în care puteți utiliza namedtuple.

a = namedtuple ('courses', 'name, tech') s = a ('data science', 'python') print (s) # ieșirea va fi cursuri (name = 'python', tech = 'python')

Cum se creează un nume numit folosind o listă?

s._make (['știința datelor', 'python']) # ieșirea va fi aceeași ca înainte.

și

deque pronunțat ca „punte” este o listă optimizată pentru a efectua inserarea și ștergerea cu ușurință.

Cum functioneaza?

#creating a deque from collections import deque a = ['d', 'u', 'r', 'e', ​​'k'] a1 = deque (a) print (a1) # ieșirea va fi deque ([' d ',' u ',' r ',' e ',' k '])

Acum, aruncăm o privire la modul în care vom insera și elimina elemente din deque.

a1.append ('a') print (a1) # ieșirea va fi deque (['d', 'u', 'r', 'e', ​​'k', 'a']) a1.appendleft (' e ') print (a1) # ieșirea va fi deque ([' e ',' d ',' u ',' r ',' e ',' k ',' a '])

Așa cum ar trebui să fie evident, introducerea unei componente este îmbunătățită folosind deque, de asemenea, puteți elimina și componentele.

a1.pop () print (a1) # ieșirea va fi deque (['e', 'd', 'u', 'r', 'e', ​​'k']) a1.popleft () print (a1 ) # ieșirea va fi deque (['d', 'u', 'r', 'e', ​​'k'])

Similar cu tipurile de date încorporate, există mai multe alte operații pe care le putem efectua pe un deque. Cum ar fi numărarea elementelor sau eliminarea deque etc.

ChainMap

Este un dicționar de clasă care poate face o singură vizualizare a mai multor mapări. Practic, returnează o listă cu alte câteva dicționare. Să presupunem că aveți două dicționare cu mai multe perechi de valori cheie, în acest caz ChainMap va face o singură listă cu ambele dicționare în ea.

Cum functioneaza?

din colecții import ChainMap a = {1: 'edureka', 2: 'python'} b = {3: 'știința datelor', 4: 'Machine learning'} c = ChainMap (a, b) print (c) #the rezultatul va fi ChainMap [{1: 'edureka', 2: 'python'}, {3: 'data science', 4: 'Machine learning'}]

Pentru a accesa sau insera elemente folosim tastele ca index. Dar pentru a adăuga un nou dicționar în ChainMap folosim următoarea abordare.

a1 = {5: 'AI', 6: 'rețele neuronale'} c1 = c.new_child (a1) print (c1) # ieșirea va fi ChainMap [{1: 'edureka', 2: 'python'}, { 3: „știința datelor”, 4: „Învățare automată”}, {5: „AI”, 6: „rețele neuronale”}]

Tejghea

Este o subclasă de dicționar care este utilizată pentru a număra obiecte hashable.

lista de evenimente javascript cu exemple

Cum functioneaza?

din colecții importați Contor a = [1,1,1,1,2,3,3,4,3,3,4] c = Contor (a) print (c) # ieșirea va fi Contor = ({1: 4, 2: 1, 3: 4, 4: 2})

În plus față de operațiile pe care le puteți efectua pe un dicționar Contorul are încă 3 operații pe care le putem efectua.

  1. funcția element - Returnează o listă care conține toate elementele din Contor.
  2. Most_common () - Returnează o listă sortată cu numărul fiecărui element din Contor.
  3. Subtract () - ia un obiect iterabil ca argument și deduce numărul elementelor din Counter.

OrderedDict

Este o subclasă de dicționar care amintește ordinea în care au fost adăugate intrările. Practic, chiar dacă modificați valoarea cheii, poziția nu va fi modificată din cauza ordinii în care a fost inserată în dicționar.

Cum functioneaza?

din colecții import OrderedDict od = OrderedDict () od [1] = 'e' od [2] = 'd' od [3] = 'u' od [4] = 'r' od [5] = 'e' od [6] = 'k' din [7] = 'a' print (from) # ieșirea va fi OrderedDict [(1, 'e'), (2, 'd'), (3, 'u'), (4, 'r'), (5, 'e'), (6, 'k'), (7, 'a')]

Nu contează ce valoare este inserată în dicționar, OrderedDict își amintește ordinea în care a fost inserat și obține rezultatul corespunzător. Chiar dacă schimbăm valoarea cheii. Să spunem, dacă schimbăm valoarea cheii 4 la 8, ordinea nu se va modifica în ieșire.

defaultdict

Este o subclasă de dicționar care apelează o funcție din fabrică pentru a furniza valorile lipsă. În general, nu aruncă nicio eroare atunci când o valoare cheie lipsă este apelată într-un dicționar.

Cum functioneaza?

din colecții import defaultdict d = defaultdict (int) # trebuie să specificăm și un tip. d [1] = 'edureka' d [2] = print 'python' (d [3]) #it va da ieșirea ca 0 în loc de keyerror.

UserDict

Această clasă acționează ca o învelitoare în jurul obiectelor din dicționar. Nevoia acestei clase a venit din necesitatea de a subclasa direct din dict. Devine mai ușor să lucrați cu această clasă pe măsură ce dicționarul de bază devine un atribut.

colecții de clase.UserDict ([initialdata])

Această clasă simulează un dicționar. Conținutul instanței este păstrat într-un dicționar obișnuit, care poate fi accesat cu atributul „date” al clasei UserDict. Referința datelor inițiale nu este păstrată, pentru a fi utilizate în alte scopuri.

Listă de utilizatori

Această clasă acționează ca un înveliș în jurul obiectelor listei. Este o clasă de bază utilă pentru alte liste, cum ar fi clasele care pot moșteni de la ele și pot suprascrie metodele existente sau chiar adăuga și mai puține altele noi.

Nevoia acestei clase a venit din necesitatea de a subclasa direct din listă. Devine mai ușor să lucrați cu această clasă, deoarece lista de bază devine un atribut.

class collections.UserList ([list])

Este clasa care simulează o listă. Conținutul instanței este păstrat într-o listă obișnuită. Subclasele listei sunt invocate pentru a oferi un constructor care poate fi apelat fie cu nici o dispută sau cu o singură dispută.

În acest blog, am aflat despre structurile de date specializate care vin cu modulul de colecții în python. Optimizarea duce la performanțe mai bune și la rezultate îmbunătățite. Același lucru este valabil și pentru propria noastră carieră și abilități. Dacă doriți să începeți învățarea și să optimizați modul în care percepeți programarea, înscrieți-vă în edureka’s și dezlănțuiți posibilitățile nesfârșite cu python.

Aveți întrebări? menționați-le în comentarii și vă vom răspunde cât mai curând posibil.