Čo je to Python Counter?
Počítadlo Pythonu je kontajner, ktorý bude obsahovať počet všetkých prvkov prítomných v kontajneri. Počítadlo je podtrieda dostupná vo vnútri triedy slovníka.
Počítadlo je podtrieda dostupná vo vnútri triedy slovníka. Pomocou nástroja Python Counter môžete spočítať páry kľúč - hodnota v objekte, ktorý sa nazýva aj objekt hash tabuľky.
Prečo používať Python Counter?
Tu sú hlavné dôvody použitia nástroja Python 3 Counter:
- Počítadlo uchováva údaje v neusporiadanej kolekcii, rovnako ako objekty s hashtable. Prvky tu predstavujú kľúče a počet ako hodnoty.
- Umožňuje vám spočítať položky v opakovateľnom zozname.
- Aritmetické operácie ako sčítanie, odčítanie, križovatka a spojenie sa dajú ľahko vykonať na počítadle.
- Počítadlo môže tiež počítať prvky z iného počítadla
V tomto výučbe pre Python sa dozviete:
- Čo je to Python Counter?
- Prečo používať Python Counter?
- Úvod do programu Python Counter
- Počítadlo s reťazcom
- Počítadlo so zoznamom
- Počítadlo so slovníkom
- Počítadlo s Tuple
- Prístup, inicializácia a aktualizácia počítadiel
- Vymazanie prvku z počítadla
- Aritmetická operácia na počítadle Python
- Metódy dostupné na počítadle Python
- Zmena priradenia počtu v Pythone
- Získajte a nastavte počet prvkov pomocou počítadla
Úvod do programu Python Counter
Počítadlo Pythonu vezme na vstup zoznam, n-ticu, slovník, reťazec, čo sú všetky opakovateľné objekty, a poskytne vám výstup, ktorý bude mať počet jednotlivých prvkov.
Syntax:
Counter(list)
Zvážte, že máte nasledujúci zoznam:
list1 = ['x','y','z','x','x','x','y', 'z']
Zoznam obsahuje prvky x, yaz. Keď v tomto zozname použijete Counter, bude počítať, koľkokrát sú x, yaz prítomné. Výstup, ak sa na zozname1 použije počítadlo, by mal byť asi tento:
Counter({'x': 4, 'y': 2, 'z': 2})
Máme teda počet x ako 4, y ako 2 a z ako 2.
Aby sme mohli Counter využiť, musíme ho najskôr importovať, ako je uvedené v nasledujúcom príklade:
from collections import Counter
Tu je jednoduchý príklad, ktorý ukazuje fungovanie modulu Counter.
from collections import Counterlist1 = ['x','y','z','x','x','x','y', 'z']print(Counter(list1))
Výkon:
Counter({'x': 4, 'y': 2, 'z': 2})
Počítadlo s reťazcom
V Pythone je všetko objekt a reťazec je tiež objekt. Reťazec Pythonu je možné vytvoriť jednoducho tak, že do dvojitej úvodzovky vložíte znaky. Python nepodporuje typ znaku. Považuje sa to za reťazce dĺžky jeden, ktoré sa tiež považujú za podreťazec.
V príklade nižšie je reťazec odovzdaný počítadlu. Vráti formát slovníka s dvojicou kľúč / hodnota, kde kľúčom je prvok a hodnotou je počet. Považuje tiež medzeru za prvok a udáva počet medzier v reťazci.
Príklad:
from collections import Countermy_str = "Welcome to Guru99 Tutorials!"print(Counter(my_str))
Výkon:
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})
Počítadlo so zoznamom
Zoznam je opakovateľný objekt, ktorého prvky sú v hranatých zátvorkách.
Prvky v zozname, keď sa dostanú do počítadla, sa prevedú na hašovateľné objekty, v ktorých sa prvky stanú kľúčmi a hodnotami bude počet prvkov v danom zozname.
Napríklad ['x', 'y', 'z', 'x', 'x', 'x', 'y', 'z']. Akonáhle dáte zoznamu Počítadlo, bude vám dávať počet jednotlivých prvkov v zozname.
from collections import Counterlist1 = ['x','y','z','x','x','x','y','z']print(Counter(list1))
Výkon:
Counter({'x': 4, 'y': 2, 'z': 2})
Počítadlo so slovníkom
Slovník obsahuje prvky ako pár kľúč / hodnota a sú písané v zložených zátvorkách.
Akonáhle je slovník daný Counteru, prevedie sa na hašovateľné objekty, z ktorých sa prvky stanú kľúčmi, a hodnotami bude počet prvkov z daného slovníka.
Napríklad: {'x': 4, 'y': 2, 'z': 2, 'z': 2}. Funkcia Počítadlo sa pokúsi nájsť počet jednotlivých klávesov v danom slovníku.
from collections import Counterdict1 = {'x': 4, 'y': 2, 'z': 2, 'z': 2}print(Counter(dict1))
Výkon:
Counter({'x': 4, 'y': 2, 'z': 2})
Počítadlo s Tuple
Tuple je kolekcia objektov oddelených čiarkami v okrúhlych zátvorkách. Počítadlo vám poskytne počet jednotlivých prvkov v danej n-tici.
Keď sa n-tica dostane do počítadla, prevedie sa na hašovateľný objekt, v ktorom sa prvky stanú kľúčmi a hodnotami bude počet prvkov z danej n-tice.
from collections import Countertuple1 = ('x','y','z','x','x','x','y','z')print(Counter(tuple1))
Výkon:
Counter({'x': 4, 'y': 2, 'z': 2})
Prístup, inicializácia a aktualizácia počítadiel
Inicializuje sa počítadlo
Počítadlo je možné inicializovať odovzdaním hodnoty reťazca, zoznamu, slovníka alebo n-tice, ako je uvedené nižšie:
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
Môžete tiež inicializovať prázdny počítadlo, ako je uvedené nižšie:
from collections import Counter_count = Counter()
Aktualizuje sa počítadlo
Hodnoty môžete do počítadla pridať pomocou metódy update ().
_count.update('Welcome to Guru99 Tutorials!')
Konečný kód je:
from collections import Counter_count = Counter()_count.update('Welcome to Guru99 Tutorials!')print(_count)
Výstup je:
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})
Prístup k počítadlu
Ak chcete získať hodnoty z počítadla, môžete postupovať takto:
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]))
Výkon:
u : 3G : 1u : 3r : 2u : 3
Vymazanie prvku z počítadla
Ak chcete odstrániť prvok z počítadla, môžete použiť del, ako je uvedené v príklade nižšie:
Príklad:
from collections import Counterdict1 = {'x': 4, 'y': 2, 'z': 2}del dict1["x"]print(Counter(dict1))
Výkon:
Counter({'y': 2, 'z': 2})
Aritmetická operácia na počítadle Python
Aritmetické operácie, ako je sčítanie, odčítanie, priesečník a spojenie, je možné vykonať na počítadle, ako je znázornené v príklade nižšie:
Príklad:
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)
Výkon:
Counter({'y': 7, 'x': 4, 'z': 2})Counter({'x1': 12, 'x': 4})Counter({'y': 2})Counter({'y': 5, 'x': 4, 'z': 4})
Metódy dostupné na počítadle Python
S Counterom je k dispozícii niekoľko dôležitých metód, tu je ich zoznam:
- elements () : Táto metóda vám vráti všetky prvky s počtom> 0. Prvky s počtom 0 alebo -1 sa nevrátia.
- most_common (value): Táto metóda vám vráti najbežnejšie prvky zo zoznamu Počítadlo.
- subtract (): Táto metóda sa používa na odpočítanie prvkov od iného počítadla.
- update (): Táto metóda sa používa na aktualizáciu prvkov z iného počítadla.
Príklad: 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)
Výkon:
xxxxxyy
Príklad: most_common (hodnota)
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)
Výkon:
[('y', 12), ('x', 5)][('y', 12), ('x', 5), ('x1', 0), ('z', -2)]
Príklad: 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)
Výkon:
Counter({'y': 7, 'x': 3, 'x1': 0, 'z': -2})
Príklad: 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)
Výkon:
Counter({'y': 17, 'x': 7, 'x1': 0, 'z': -2})
Zmena priradenia počtu v Pythone
Počty počítadiel môžete znova priradiť, ako je uvedené nižšie:
Zvážte, že máte slovník ako: {'x': 5, 'y': 12, 'z': -2, 'x1': 0}
Počet prvkov môžete zmeniť, ako je uvedené nižšie:
from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})counter1['y'] = 20print(counter1)
Výstup: Po vykonaní uvidíte, že počet y sa zmenil z 12 na 20
Counter({'y': 20, 'x': 5, 'x1': 0, 'z': -2})
Získajte a nastavte počet prvkov pomocou počítadla
Ak chcete získať počet prvkov pomocou počítadla, môžete urobiť nasledovne:
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'
Výkon:
12
Počet prvkov nastavíte takto:
from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})print(counter1['y'])counter1['y'] = 20counter1['y1'] = 10print(counter1)
Výkon:
12Counter({'y': 20, 'y1': 10, 'x': 5, 'x1': 0, 'z': -2})
Zhrnutie:
- Počítadlo je kontajner, ktorý udrží počet všetkých prvkov prítomných v kontajneri.
- Počítadlo je podtrieda dostupná vo vnútri triedy slovníka.
- Pomocou nástroja Python Counter môžete spočítať páry kľúč - hodnota v objekte, ktorý sa tiež nazýva objekt hashtable.
- Počítadlo uchováva údaje v neusporiadanej kolekcii, rovnako ako objekty s hashtable. Prvky tu predstavujú kľúče a počet ako hodnoty.
- Umožňuje vám spočítať položky v opakovateľnom zozname.
- Aritmetické operácie ako sčítanie, odčítanie, križovatka a spojenie sa dajú ľahko vykonať na počítadle.
- Počítadlo môže tiež počítať prvky z iného počítadla.
- Dôležitými metódami dostupnými na počítadle sú prvky (), most_common (hodnota), subtract () a update ().
- Počítadlo možno použiť na reťazec, zoznam, slovník a n-ticu.