← Все вопросы

Как найти топ-N самых частых элементов? (Counter.most_common)

Задан 15 месяцев назад742 просмотров2 ответа
16

Посчитал частоты слов, теперь нужно вывести 3 самых частых. Сортировать весь словарь вручную не хочется.

2 ответа

27
✓ Принятый ответ — помог автору

Для этого ровно и придуман Counter.most_common(n):

from collections import Counter
cnt = Counter(words)            # words — список слов
print(cnt.most_common(3))       # [('the', 12), ('a', 9), ('in', 7)]

Возвращает список пар (элемент, количество), уже отсортированный по убыванию частоты. Без аргумента most_common() отдаёт вообще все элементы по убыванию. Элементы с одинаковой частотой идут в порядке первого появления.

6

cnt.most_common(3).

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект