Ce este Python Counter?
Python Counter este un container care va reține numărul fiecăruia dintre elementele prezente în container. Contorul este o subclasă disponibilă în clasa dicționar.
Contorul este o subclasă disponibilă în clasa dicționar. Folosind instrumentul Contor Python, puteți număra perechile cheie-valoare dintr-un obiect, numit și obiect tabel hash.
De ce să folosiți Python Counter?
Iată, sunt principalele motive pentru utilizarea Python 3 Counter:
- Contorul deține datele într-o colecție neordonată, la fel ca obiectele hashtable. Elementele de aici reprezintă cheile și numărul ca valori.
- Vă permite să numărați elementele dintr-o listă iterabilă.
- Operațiile aritmetice cum ar fi adunarea, scăderea, intersecția și unirea pot fi efectuate cu ușurință pe un contor.
- Un Contor poate conta și elemente dintr-un alt contor
În acest tutorial Python veți învăța:
- Ce este Python Counter?
- De ce să folosiți Python Counter?
- Introducere în Contorul Python
- Contor cu șir
- Contor cu Listă
- Contor cu dicționar
- Contor cu Tuple
- Accesarea, inițializarea și actualizarea contoarelor
- Ștergerea unui element din contor
- Operațiune aritmetică pe Python Counter
- Metode disponibile pe Python Counter
- Reatribuirea numărărilor în Python
- Obțineți și setați numărul de elemente folosind Contor
Introducere în Contorul Python
Python Counter primește în intrare o listă, tuplu, dicționar, șir, care sunt toate obiecte iterabile și vă va oferi ieșire care va avea numărul fiecărui element.
Sintaxă:
Counter(list)
Luați în considerare că aveți o listă următoare:
list1 = ['x','y','z','x','x','x','y', 'z']
Lista conține elemente x, y și z. Când utilizați Counter pe această listă, va conta de câte ori este prezent x, y și z. Ieșirea dacă contorul este utilizat pe lista1 ar trebui să fie ceva de genul:
Counter({'x': 4, 'y': 2, 'z': 2})
Deci avem numărul de x ca 4, y ca 2 și z ca 2.
Pentru a utiliza Counter, trebuie să-l importăm mai întâi așa cum se arată în exemplul de mai jos:
from collections import Counter
Iată un exemplu simplu, care arată funcționarea modulului Counter.
from collections import Counterlist1 = ['x','y','z','x','x','x','y', 'z']print(Counter(list1))
Ieșire:
Counter({'x': 4, 'y': 2, 'z': 2})
Contor cu șir
În Python, totul este un obiect, iar șirul este și un obiect. Șirul Python poate fi creat pur și simplu prin încadrarea caracterelor în ghilimele duble. Python nu acceptă un tip de caracter. Acestea sunt tratate ca șiruri de lungimea unu, considerate, de asemenea, ca un șir.
În exemplul de mai jos, un șir este trecut la Contor. Întoarce formatul dicționarului, cu perechea cheie / valoare unde cheia este elementul și valoarea este numărul. De asemenea, consideră spațiul ca un element și oferă numărul de spații din șir.
Exemplu:
from collections import Countermy_str = "Welcome to Guru99 Tutorials!"print(Counter(my_str))
Ieșire:
Counter({'o': 3, ' ': 3, 'u': 3, 'e': 2, 'l': 2, 't': 2, 'r': 2, '9': 2, 'W': 1,'c': 1, 'm': 1, 'G': 1, 'T': 1, 'i': 1, 'a': 1, 's': 1, '!': 1})
Contor cu Listă
O listă este un obiect iterabil care are elementele sale între paranteze drepte.
Elementele din listă atunci când sunt date contorului vor fi convertite într-un obiect hashtable în care elementele vor deveni chei, iar valorile vor fi numărul de elemente din lista dată.
De exemplu ['x', 'y', 'z', 'x', 'x', 'x', 'y', 'z']. Odată ce ați dat listei Contor, acesta vă va oferi numărul fiecărui element din listă.
from collections import Counterlist1 = ['x','y','z','x','x','x','y','z']print(Counter(list1))
Ieșire:
Counter({'x': 4, 'y': 2, 'z': 2})
Contor cu dicționar
Un dicționar are elemente ca pereche cheie / valoare și sunt scrise în paranteze.
Odată ce dicționarul este dat contorului, acesta va fi convertit într-un obiect hashtable în care elementele vor deveni chei, iar valorile vor fi numărul elementelor din dicționarul dat.
De exemplu: {'x': 4, 'y': 2, 'z': 2, 'z': 2}. Funcția Contor va încerca să găsească numărul fiecărei chei din dicționarul dat.
from collections import Counterdict1 = {'x': 4, 'y': 2, 'z': 2, 'z': 2}print(Counter(dict1))
Ieșire:
Counter({'x': 4, 'y': 2, 'z': 2})
Contor cu Tuple
Tuple este o colecție de obiecte separate prin virgule în paranteze rotunde. Contorul vă va oferi numărul fiecăruia dintre elementele din tuplul dat.
Odată ce tuplul este dat contorului, acesta va fi convertit într-un obiect hashtable în care elementele vor deveni chei și valorile vor fi numărul de elemente din tuplul dat.
from collections import Countertuple1 = ('x','y','z','x','x','x','y','z')print(Counter(tuple1))
Ieșire:
Counter({'x': 4, 'y': 2, 'z': 2})
Accesarea, inițializarea și actualizarea contoarelor
Inițializarea Contorului
Un contor poate fi inițializat prin trecerea valorii șirului, a listei, a dicționarului sau a tuplului așa cum se arată mai jos:
from collections import Counterprint(Counter("Welcome to Guru99 Tutorials!")) #using stringprint(Counter(['x','y','z','x','x','x','y', 'z'])) #using listprint(Counter({'x': 4, 'y': 2, 'z': 2})) #using dictionaryprint(Counter(('x','y','z','x','x','x','y', 'z'))) #using tuple
De asemenea, puteți inițializa un contor gol așa cum se arată mai jos:
from collections import Counter_count = Counter()
Actualizarea contorului
Puteți adăuga valori la Contor utilizând metoda update ().
_count.update('Welcome to Guru99 Tutorials!')
Codul final este:
from collections import Counter_count = Counter()_count.update('Welcome to Guru99 Tutorials!')print(_count)
Ieșirea este:
Counter({'o': 3, ' ': 3, 'u': 3, 'e': 2, 'l': 2, 't': 2, 'r': 2, '9': 2, 'W': 1,'c': 1, 'm': 1, 'G': 1, 'T': 1, 'i': 1, 'a': 1, 's': 1, '!': 1})
Accesarea contorului
Pentru a obține valorile de pe contor, puteți face următoarele:
from collections import Counter_count = Counter()_count.update('Welcome to Guru99 Tutorials!')print('%s : %d' % ('u', _count['u']))print('\n')for char in 'Guru':print('%s : %d' % (char, _count[char]))
Ieșire:
u : 3G : 1u : 3r : 2u : 3
Ștergerea unui element din contor
Pentru a șterge un element din Counter puteți utiliza del, așa cum se arată în exemplul de mai jos:
Exemplu:
from collections import Counterdict1 = {'x': 4, 'y': 2, 'z': 2}del dict1["x"]print(Counter(dict1))
Ieșire:
Counter({'y': 2, 'z': 2})
Operațiune aritmetică pe Python Counter
Operația aritmetică, cum ar fi adunarea, scăderea, intersecția și unirea, se poate face pe un contor, așa cum se arată în exemplul de mai jos:
Exemplu:
from collections import Countercounter1 = Counter({'x': 4, 'y': 2, 'z': -2})counter2 = Counter({'x1': -12, 'y': 5, 'z':4 })#Additioncounter3 = counter1 + counter2 # only the values that are positive will be returned.print(counter3)#Subtractioncounter4 = counter1 - counter2 # all -ve numbers are excluded.For example z will be z = -2-4=-6, since it is -ve value it is not shown in the outputprint(counter4)#Intersectioncounter5 = counter1 & counter2 # it will give all common positive minimum values from counter1 and counter2print(counter5)#Unioncounter6 = counter1 | counter2 # it will give positive max values from counter1 and counter2print(counter6)
Ieșire:
Counter({'y': 7, 'x': 4, 'z': 2})Counter({'x1': 12, 'x': 4})Counter({'y': 2})Counter({'y': 5, 'x': 4, 'z': 4})
Metode disponibile pe Python Counter
Există câteva metode importante disponibile cu Counter, iată lista acestora:
- elements () : Această metodă vă va întoarce toate elementele cu număr> 0. Elementele cu număr 0 sau -1 nu vor fi returnate.
- most_common (valoare): Această metodă vă va întoarce cele mai comune elemente din lista Counter.
- subtract (): Această metodă este utilizată pentru a deduce elementele dintr-un alt contor.
- update (): Această metodă este utilizată pentru a actualiza elementele dintr-un alt contor.
Exemplu: elements ()
from collections import Countercounter1 = Counter({'x': 5, 'y': 2, 'z': -2, 'x1':0})_elements = counter1.elements() # will give you all elements with positive value and count>0for a in _elements:print(a)
Ieșire:
xxxxxyy
Exemplu: most_common (valoare)
from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})common_element = counter1.most_common(2) # The dictionary will be sorted as per the most common element first followed by next.print(common_element)common_element1 = counter1.most_common() # if the value is not given to most_common , it will sort the dictionary and give the most common elements from the start.The last element will be the least common element.print(common_element1)
Ieșire:
[('y', 12), ('x', 5)][('y', 12), ('x', 5), ('x1', 0), ('z', -2)]
Exemplu: subtract ()
from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})counter2 = Counter({'x': 2, 'y':5})counter1.subtract(counter2)print(counter1)
Ieșire:
Counter({'y': 7, 'x': 3, 'x1': 0, 'z': -2})
Exemplu: update ()
from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})counter2 = Counter({'x': 2, 'y':5})counter1.update(counter2)print(counter1)
Ieșire:
Counter({'y': 17, 'x': 7, 'x1': 0, 'z': -2})
Reatribuirea numărărilor în Python
Puteți reatribui numărul contorului așa cum se arată mai jos:
Luați în considerare că aveți un dicționar ca: {'x': 5, 'y': 12, 'z': -2, 'x1': 0}
Puteți modifica numărul elementului așa cum se arată mai jos:
from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})counter1['y'] = 20print(counter1)
Ieșire: După executare, veți vedea că numărul y este modificat de la 12 la 20
Counter({'y': 20, 'x': 5, 'x1': 0, 'z': -2})
Obțineți și setați numărul de elemente folosind Contor
Pentru a obține numărul unui element folosind Counter, puteți face următoarele:
from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})print(counter1['y']) # this will give you the count of element 'y'
Ieșire:
12
Pentru a seta numărul elementului puteți face după cum urmează:
from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})print(counter1['y'])counter1['y'] = 20counter1['y1'] = 10print(counter1)
Ieșire:
12Counter({'y': 20, 'y1': 10, 'x': 5, 'x1': 0, 'z': -2})
Rezumat:
- Contorul este un container care va reține numărul fiecăruia dintre elementele prezente în container.
- Contorul este o subclasă disponibilă în clasa dicționar.
- Folosind instrumentul Contor Python, puteți număra perechile cheie-valoare dintr-un obiect, numit și obiect hashtable.
- Contorul deține datele într-o colecție neordonată, la fel ca obiectele hashtable. Elementele de aici reprezintă cheile și numărul ca valori.
- Vă permite să numărați elementele dintr-o listă iterabilă.
- Operațiile aritmetice cum ar fi adunarea, scăderea, intersecția și unirea pot fi efectuate cu ușurință pe un contor.
- Un Contor poate conta și elemente dintr-un alt contor.
- Metodele importante disponibile pe un contor sunt elements (), most_common (value), subtract () și update ().
- Un contor poate fi folosit pe un șir, listă, dicționar și tuplu.