Contare elementi di una collezione in Python con Counter

Mattepuffo's logo
Contare elementi di una collezione in Python con Counter

Contare elementi di una collezione in Python con Counter

Il modulo Counter fa parte della libreria standard di Python, e ci consente di contare gli elementi in una collezione.

Ovviamente non si limita al numero di elementi, ma possiamo anche farci altre operazioni.

Cominciamo da un esempio basico:

from collections import Counter

lista = ["a", "a", "b", "b", "b", "c", "c", "c", "C"]
cnt = Counter(lista)
print(cnt)

La risposta sarà:

Counter({'b': 3, 'c': 3, 'a': 2, 'C': 1})

Possiamo anche visualizzare i più comuni con la funzione most_common:

from collections import Counter

lista = ["a", "a", "b", "b", "b", "c", "c", "c", "C"]
cnt = Counter(lista)
print(cnt.most_common())
print(cnt.most_common(1))

Con questo output:

[('b', 3), ('c', 3), ('a', 2), ('C', 1)]
[('b', 3)]

Volendo possiamo anche iterare sugli items:

from collections import Counter

lista = ["a", "a", "b", "b", "b", "c", "c", "c", "C"]
cnt = Counter(lista)
for k, v in cnt.items():
    print(k, v)

Il risultato sarà una "lista" di elementi così visualizzati:

a 2
b 3
c 3
C 1

Come avete potuto notare, c'è differenza tra minuscole e maiuscole.

Infine, tutto ciò può essere anche applicato ad un dizionario:

from collections import Counter

dizionario = {"a": 1, "b": 2, "c": 5}
print(Counter(dizionario))

Enjoy!


Condividi

Commentami!