Počítadlo Pythonu ve sbírkách s příkladem

Obsah:

Anonim

Co je to Python Counter?

Počítadlo Pythonu je kontejner, který bude obsahovat počet jednotlivých prvků přítomných v kontejneru. Počítadlo je podtřída dostupná uvnitř třídy slovníku.

Počítadlo je podtřída dostupná uvnitř třídy slovníku. Pomocí nástroje Python Counter můžete spočítat páry klíč – hodnota v objektu, který se také nazývá objekt hash tabulky.

Proč používat Python Counter?

Zde jsou hlavní důvody pro použití čítače Pythonu 3:

  • Počítadlo uchovává data v neuspořádané kolekci, stejně jako hashtable objekty. Prvky zde představují klíče a počet jako hodnoty.
  • Umožňuje vám spočítat položky v iterovatelném seznamu.
  • Na počitadle lze snadno provádět aritmetické operace, jako je sčítání, odčítání, průnik a sjednocení.
  • Počítadlo může také počítat prvky z jiného počítadla

V tomto výukovém programu pro Python se naučíte:

  • Co je to Python Counter?
  • Proč používat Python Counter?
  • Úvod do Python Counter
  • Počítadlo s řetězcem
  • Počítadlo se seznamem
  • Počítadlo se slovníkem
  • Počítadlo s Tuple
  • Přístup, inicializace a aktualizace čítačů
  • Odstranění prvku z počítadla
  • Aritmetická operace na čítači Pythonu
  • Metody dostupné na čítači Pythonu
  • Změna přiřazení počtů v Pythonu
  • Získejte a nastavte počet prvků pomocí počítadla

Úvod do Python Counter

Počítadlo Pythonu přijímá na vstupu seznam, n-tici, slovník, řetězec, což jsou všechny iterovatelné objekty, a poskytne vám výstup, který bude mít počet jednotlivých prvků.

Syntax:

Counter(list)

Vezměte v úvahu, že máte následující seznam:

list1 = ['x','y','z','x','x','x','y', 'z']

Seznam obsahuje prvky x, yaz. Pokud v tomto seznamu použijete Counter, spočítá se, kolikrát je x, yaz přítomno. Výstup, pokud se na seznamu1 použije čítač, by měl být něco jako:

Counter({'x': 4, 'y': 2, 'z': 2})

Takže máme počet x jako 4, y jako 2 a z jako 2.

Abychom mohli Counter využít, musíme jej nejprve importovat, jak ukazuje níže uvedený příklad:

from collections import Counter

Zde je jednoduchý příklad, který ukazuje fungování modulu Counter.

from collections import Counterlist1 = ['x','y','z','x','x','x','y', 'z']print(Counter(list1))

Výstup:

Counter({'x': 4, 'y': 2, 'z': 2})

Počítadlo s řetězcem

V Pythonu je vše objekt a řetězec je také objekt. Řetězec Pythonu lze vytvořit jednoduše uzavřením znaků do uvozovek. Python nepodporuje typ znaků. S nimi se zachází jako s řetězci délky jedna, které se také považují za podřetězec.

V níže uvedeném příkladu je řetězec předán Counter. Vrátí formát slovníku s párem klíč / hodnota, kde klíč je prvek a hodnota je počet. Zvažuje také mezeru jako prvek a udává počet mezer v řetězci.

Příklad:

from collections import Countermy_str = "Welcome to Guru99 Tutorials!"print(Counter(my_str))

Výstup:

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 se seznamem

Seznam je iterovatelný objekt, který má své prvky uvnitř hranatých závorek.

Prvky v seznamu, pokud jsou dány Counteru, budou převedeny na hashtable objekty, ve kterých se prvky stanou klíči a hodnoty budou počtem prvků z daného seznamu.

Například ['x', 'y', 'z', 'x', 'x', 'x', 'y', 'z']. Jakmile dáte seznamu Počítadlo, získáte počet jednotlivých prvků v seznamu.

from collections import Counterlist1 = ['x','y','z','x','x','x','y','z']print(Counter(list1))

Výstup:

Counter({'x': 4, 'y': 2, 'z': 2})

Počítadlo se slovníkem

Slovník obsahuje prvky jako pár klíč / hodnota a jsou psány uvnitř složených závorek.

Jakmile je slovník dán Counteru, bude převeden na hashtable objekty, ve kterých se prvky stanou klíči, a hodnotami bude počet prvků z daného slovníku.

Například: {'x': 4, 'y': 2, 'z': 2, 'z': 2}. Funkce Counter se pokusí najít počet jednotlivých kláves v daném slovníku.

from collections import Counterdict1 = {'x': 4, 'y': 2, 'z': 2, 'z': 2}print(Counter(dict1))

Výstup:

Counter({'x': 4, 'y': 2, 'z': 2})

Počítadlo s Tuple

Tuple je kolekce objektů oddělených čárkami uvnitř kulatých závorek. Počítadlo vám poskytne počet jednotlivých prvků v dané n-tici.

Jakmile je n-tice dána Counteru, bude převedena na hashtable objekt, ve kterém se prvky stanou klíči a hodnotami bude počet prvků z dané n-tice.

from collections import Countertuple1 = ('x','y','z','x','x','x','y','z')print(Counter(tuple1))

Výstup:

Counter({'x': 4, 'y': 2, 'z': 2})

Přístup, inicializace a aktualizace čítačů

Inicializace počítadla

Čítač lze inicializovat předáním hodnoty řetězce, seznamu, slovníku nebo n-tice, jak je znázorněno níže:

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 také inicializovat prázdný čítač, jak je uvedeno níže:

from collections import Counter_count = Counter()

Aktualizace počítadla

Hodnoty můžete do čítače přidat pomocí metody 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ýstupem 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})

Přístup k počítadlu

Chcete-li získat hodnoty z čítače, můžete postupovat následovně:

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ýstup:

u : 3G : 1u : 3r : 2u : 3

Odstranění prvku z počítadla

Chcete-li odstranit prvek z čítače, můžete použít del, jak je znázorněno v následujícím příkladu:

Příklad:

from collections import Counterdict1 = {'x': 4, 'y': 2, 'z': 2}del dict1["x"]print(Counter(dict1))

Výstup:

Counter({'y': 2, 'z': 2})

Aritmetická operace na čítači Pythonu

Aritmetické operace, jako je sčítání, odčítání, průnik a sjednocení, lze provést na počitadle, jak je znázorněno v následujícím příkladu:

Pří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ýstup:

Counter({'y': 7, 'x': 4, 'z': 2})Counter({'x1': 12, 'x': 4})Counter({'y': 2})Counter({'y': 5, 'x': 4, 'z': 4})

Metody dostupné na čítači Pythonu

S Counterem jsou k dispozici některé důležité metody, zde je stejný seznam:

  • elements () : Tato metoda vám vrátí všechny prvky s počtem> 0. Prvky s počtem 0 nebo -1 nebudou vráceny.
  • most_common (value): Tato metoda vám vrátí nejběžnější prvky ze seznamu Counter.
  • subtract (): Tato metoda se používá k odečtení prvků z jiného čítače.
  • update (): Tato metoda se používá k aktualizaci prvků z jiného čítače.

Pří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ýstup:

xxxxxyy

Pří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ýstup:

[('y', 12), ('x', 5)][('y', 12), ('x', 5), ('x1', 0), ('z', -2)]

Příklad: odečíst ()

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ýstup:

Counter({'y': 7, 'x': 3, 'x1': 0, 'z': -2})

Pří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ýstup:

Counter({'y': 17, 'x': 7, 'x1': 0, 'z': -2})

Změna přiřazení počtů v Pythonu

Počty čítačů můžete znovu přiřadit, jak je uvedeno níže:

Zvažte, že máte slovník jako: {'x': 5, 'y': 12, 'z': -2, 'x1': 0}

Počet prvků můžete změnit, jak je znázorněno níže:

from collections import Countercounter1 = Counter({'x': 5, 'y': 12, 'z': -2, 'x1':0})counter1['y'] = 20print(counter1)

Výstup: Po provedení uvidíte, že počet y se změnil z 12 na 20

Counter({'y': 20, 'x': 5, 'x1': 0, 'z': -2})

Získejte a nastavte počet prvků pomocí počítadla

Chcete-li získat počet prvků pomocí čítače, můžete postupovat následovně:

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ýstup:

12

Počet elementů 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ýstup:

12Counter({'y': 20, 'y1': 10, 'x': 5, 'x1': 0, 'z': -2})

Souhrn:

  • Počítadlo je kontejner, který bude obsahovat počet jednotlivých prvků přítomných v kontejneru.
  • Počítadlo je podtřída dostupná uvnitř třídy slovníku.
  • Pomocí nástroje Python Counter můžete spočítat páry klíč – hodnota v objektu, který se také nazývá objekt hashtable.
  • Počítadlo uchovává data v neuspořádané kolekci, stejně jako hashtable objekty. Prvky zde představují klíče a počet jako hodnoty.
  • Umožňuje vám spočítat položky v iterovatelném seznamu.
  • Na počitadle lze snadno provádět aritmetické operace, jako je sčítání, odčítání, průnik a sjednocení.
  • Počítadlo může také počítat prvky z jiného počítadla.
  • Důležité metody dostupné na počitadle jsou elements (), most_common (value), subtract () a update ().
  • Počítadlo lze použít na řetězec, seznam, slovník a n-tici.