Colecție în Python: Tot ce trebuie să știți

Publicat: 2021-04-09

Python este un limbaj de programare puternic. Este modular și cunoscut pentru simplitatea, reutilizarea și mentenabilitatea sa. În programarea modulară, o sarcină de programare mare și complexă este împărțită în module mai mici.

Acest articol vorbește despre colecția de module din Python . Colectarea îmbunătățește funcționalitățile și este alternativa la containerele Python de uz general încorporate dict, listă, set și tuple.

„Listele, tuplurile, seturile și dicționarele Python sunt structuri de date definite de utilizator și fiecare vine cu propriul set de avantaje și dezavantaje.”

Cuprins

Modulul Python

Un modul este un fișier care conține definiții și instrucțiuni Python care implementează un set de funcții. Comanda de import este folosită pentru a importa module din alte module. Python are mai multe module încorporate.

Să ajungem acum la miezul articolului și să aflăm în detaliu colecția de module din Python .

Colecție în Python

Colectarea în Python este containerul care stochează colecții de date. Listă, set, tuple, dict etc., sunt colecții încorporate în Python . Există șase module de colectare în Python care oferă structuri de date suplimentare pentru stocarea colecțiilor de date. Aceste module Python îmbunătățesc operațiunile de colectare a containerelor încorporate.

Vom discuta acum despre diferitele containere furnizate de colecție în modulul Python.

1. OrderedDict

OrderedDict() funcționează similar cu obiectul dicționar în care cheile mențin ordinea în care sunt introduse. Dacă doriți să introduceți din nou cheia, valoarea anterioară va fi suprascrisă, iar poziția cheii nu se va schimba.

Exemplu:

importați OrderedDict din colecții

d1=colecții.OrderedDict()

d1['A']=1

d1['B']=2

d1['C']=3

d1['D']=4

pentru x,v în d1.items():

imprimare (x,v)

Ieșire:

A 1

B 2

C 3

D 4

2. deque()

Python deque() este o listă optimizată care adaugă și elimină elemente din ambele extreme.

Exemplu:

import deque din colecții

list1 = [„a”,”b”,”c”]

deq = deque(lista1)

print(deq)

Ieșire:

deque(['a', 'b', 'c'])

3. Contor

Contoarele sunt subgrupul obiectelor din dicționar care numără obiectele hashabile. Funcția de contor ia intrarea iterabilă ca argument și returnează o ieșire ca dicționar. Cheia este un element iterabil, iar valoarea este numărul total de ori când un element este prezent în iterabil.

Exemplu:

import Counter din colecții

c = Counter()

list1 = [1,2,3,4,5,7,8,5,9,6,10]

Contor(lista1)

Contor({1:5,2:4})

list1 = [1,2,4,7,5,1,6,7,6,9,1]

c = Contor(lista1)

imprimare (c[1])

Ieșire:

3

Funcții suplimentare de contor

1. elemente() Funcție

Funcția elements() returnează o listă a elementelor prezente în obiectul Counter .

Exemplu:

c = Contor({1:4,2:3})

print(lista(c.elemente()))

Ieșire:

[1,1,1,1,2,2,2]

Aici, un obiect Counter este creat folosind un argument de dicționar. Numărul de numărări pentru 1 este 4, iar pentru 2 este 3. Funcția elements() este apelată cu obiectul c returnând un iterator.

2. Most_common() Funcția

Funcția Python Counter() returnează un dicționar neordonat, în timp ce funcția most_common() îl sortează în funcție de numărul fiecărui element.

Exemplu:

lista = [1,2,3,4,5,5,5,7,3]

c = contor(lista)

print(c.most_common())

Ieșire:

[((5,3), (1,1),(2,1),(3,2),(4,1), (7,1))]

Aici, funcția most_common returnează o listă sortată în funcție de numărul de elemente. 5 vine de trei ori; prin urmare, este primul, ca element al listei.

3. Funcția Scădere().

Subtract () consideră argumente iterabile sau de mapare și scade numărul de elemente cu acel argument.

Exemplu:

c = contor({1:2,2:3})

ieșire= {1:1,2:1}

c.scădere (ieșire)

imprimare (c)

Ieșire:

Contor({1:1,2:2})

4. Obiecte Chainmap

Clasa Chainmap grupează mai multe dicționare pentru a crea o singură listă. Dicționarul legat este public și poate fi accesat prin atributul hartă.

Exemplu:

Importați hartă în lanț din colecții

dict1 = { „w” : 1, „x” : 2 }

dict2 = {'y' : 3. 'z': 4 }

chain_map = ChainMap(dict1,dict2)

print(chain_map.maps)

Ieșire:

[{'x' : 2, 'w' :1}, {'y' : 3, 'x':4}]

5. Numitduplu

Funcția namedtuple() returnează un obiect tuplu cu nume pentru fiecare poziție din tuplu. A fost introdus pentru a elimina problema amintirii indexului fiecărui câmp al unui obiect tuplu.

Exemplu:

Importați namedtuple din colecții

Student = namedtuple („Student”, „prenume, prenume, vârstă”)

s1 = Student („Tom”, „Alter”, „12”)

print(s1.prenume)

Ieșire:

Student(prenume='Tom', prenume='Alter', varsta='12')

În acest exemplu, puteți accesa câmpurile oricărei instanțe a unei clase.

6. DefaultDict

Python defaultdict() este un obiect dicționar și este o subclasă a clasei dict. Acesta oferă toate metodele de dicționar, dar ia primul argument ca tip de date implicit. Aruncă o eroare atunci când accesați o cheie inexistentă.

Exemplu:

import defaultdict din colecții

num = defaultdict(int)

num['unu'] = 1

num['două'] = 2

imprimare (număr['trei'])

Ieșire:

0

Concluzie

Se știe că colecția în Python aduce îmbunătățiri modulului de colecție Python. Colecțiile au fost introduse în versiunea 2.4 de Python. La versiunile ulterioare se pot aștepta multe schimbări și îmbunătățiri. În acest articol, am explicat cele șase colecții existente în Python cu exemple și modul în care sunt implementate în limbaj. Ele sunt unul dintre cele mai importante concepte din punctul de vedere al unui cursant.

Învață colecția în Python cu programul exclusiv upGrad de licență în aplicații computerizate . Acest program acoperă abilitățile necesare pentru a face o intrare în industria IT.

Dacă sunteți curios să aflați despre python, Data Science, consultați Programul Executive PG în Data Science al IIIT-B și upGrad, care este creat pentru profesioniști care lucrează și oferă peste 10 studii de caz și proiecte, ateliere practice practice, mentorat cu experți din industrie , 1-la-1 cu mentori din industrie, peste 400 de ore de învățare și asistență profesională cu firme de top.

Învață cursuri de știință a datelor online 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.

De ce avem nevoie de modulul de colectare în Python?

Python are deja 4 tipuri de date de colectare încorporate. Acestea sunt listă, tuplu, dicționar și set. Cu toate acestea, aceste containere de date sunt utilizate în scopuri generale.
Următoarele puncte evidențiază avantajele majore ale utilizării modulului de colectare față de containerele de date încorporate.
Modulul de colectare oferă versiunea specializată a acestor containere, cum ar fi namedtuple, OrderedDict, defaultdict, chainmap, counter și multe altele.
Fiind mai optimizate, aceste containere se dovedesc a fi o alternativă mai bună la containerele tradiționale de date precum list, tuple și set.
Modulul de colectare este eficient pentru a trata datele structurate.
Containerele de date precum namedtuple consumă mai puțină memorie și oferă operațiuni îmbunătățite pentru stocarea și gestionarea datelor.

Care este diferența dintre un dicționar și un dicționar ordonat în Python?

Dicționarul Python sau „Dict” este o structură de date încorporată în Python, care este folosită pentru a stoca o colecție neordonată de elemente. Spre deosebire de alte structuri de date Python care stochează valori unice, structura de date dicționar stochează perechi cheie-valoare în care fiecare cheie este unică. Nu își amintește ordinea de inserare a perechilor cheie-valoare și iterează prin chei.
Pe de altă parte, un dicționar ordonat sau OrderedDict ține o evidență a ordinii de inserare a perechilor cheie-valoare. De asemenea, consumă mai multă memorie decât un dicționar obișnuit în Python, datorită implementării listei dublu legate. Dacă ștergeți și reintroduceți aceeași cheie, aceasta va fi inserată în poziția inițială, deoarece OrderedDict își amintește ordinea de inserare.

Care sunt diferitele operații ale namedtuple?

Namedtuple din Python efectuează diverse operații. Următoarea este o listă cu unele dintre cele mai frecvente operațiuni efectuate de namedtuple.
1. Operații de acces: Acces prin index: Elementele dintr-un namedtuple pot fi accesate prin indicii lor, spre deosebire de un dicționar. Acces prin numele cheii: modalitatea alternativă de a accesa elementele este prin numele cheii lor.
2. Operații de conversie: make(): Această funcție returnează un namedtuple. _asadict(): Această funcție returnează un dicționar ordonat care este construit din valorile mapate. folosind operatorul „**” (stea dublă): Această funcție transformă un dicționar Python într-un namedtuple.
3. Operații suplimentare: _fileds(): Această funcție returnează toate numele cheilor ale namedtuple-ului dat. _replace(): Această funcție ia un nume de cheie ca argument și modifică valorile mapate cu aceasta.