Counter.most_common() în Python

Modulul collections Python 3.1+

Returnează cele mai frecvente valori dintr-un Counter, în ordine descrescătoare.

Sintaxă
contor.most_common(n=None)

Ce face Counter.most_common()

most_common(n) returnează o listă de perechi (valoare, număr), de la cea mai frecventă la cea mai rară. Fără n, returnează toate valorile. La egalitate, valorile apar în ordinea în care au fost întâlnite prima dată.

Cele mai rare valori le obții cu felia c.most_common()[:-n-1:-1].

Parametri

Parametru Descriere
n Opțional. Câte valori să returneze.

Ce returnează

O listă de tupluri (valoare, număr).

Exemple

Exemplul 1: Topul literelor și al cuvintelor

from collections import Counter
voturi = ["Ana", "Dan", "Ana", "Ioana", "Dan", "Ana"]
c = Counter(voturi)
print(c.most_common())
castigator, numar = c.most_common(1)[0]
print(f"Câștigă {castigator} cu {numar} voturi")
print(Counter("mississippi").most_common(2))
print(c.most_common()[:-2:-1])

Rezultat

[('Ana', 3), ('Dan', 2), ('Ioana', 1)]
Câștigă Ana cu 3 voturi
[('i', 4), ('s', 4)]
[('Ioana', 1)]

Greșeli frecvente

  • Scrii c.most_common(1) și te aștepți la valoare, dar primești o listă cu un tuplu. Ia elementul: c.most_common(1)[0][0].

Comenzi înrudite

  • collections.Counter: Un dicționar specializat care numără de câte ori apare fiecare valoare.
  • sorted(): Returnează o listă nouă, sortată, cu elementele unei colecții.
  • min() și max(): Returnează cel mai mic sau cel mai mare element dintr-o colecție sau dintre mai multe valori.