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!
python counter most_common items
Commentami!