← Все вопросы
Как посчитать, сколько раз каждое слово встречается в тексте?
6
Нужно по тексту получить частоту слов: {'кот': 3, 'дом': 1, ...}. Делаю через словарь и if-ы, но кажется есть готовое решение.
2 ответа
11
✓ Принятый ответ — помог автору
collections.Counter создан ровно для этого:
from collections import Counter
words = text.lower().split()
freq = Counter(words)
print(freq.most_common(3)) # топ-3 слова
Если вручную — freq[w] = freq.get(w, 0) + 1 в цикле, тоже ок.
Данил Киселёв Counter + most_common — спасибо, прям то что нужно · 8 месяцев назад
2
перед подсчётом обычно ещё чистят пунктуацию, иначе «кот,» и «кот» разные
Ваш ответ
Войдите, чтобы ответить на вопрос.