Python: словарь — посчитайте частоту слов в тексте

10 класс 1 просмотр задан 27.05.2026 📚 редакторский

Дан текст в виде строки. Постройте словарь, где ключи — слова, а значения — количество их вхождений в текст. Регистр и знаки препинания не учитываются.

1 ответ

Принятый ответ
Ответ

Словарь {слово: частота}

Как это получилось

Используем словарь и метод get (или defaultdict/Counter).

import re
from collections import Counter

def word_freq(text: str) -> dict[str, int]:
    # Извлекаем слова, убирая знаки препинания
    words = re.findall(r"\w+", text.lower())
    freq: dict[str, int] = {}
    for word in words:
        freq[word] = freq.get(word, 0) + 1
    return freq

text = "Кот и пёс. Кот спит, пёс играет. Кот рыжий."
print(word_freq(text))
# {'кот': 3, 'и': 1, 'пёс': 2, 'спит': 1, 'играет': 1, 'рыжий': 1}

re.findall(r"\w+", ...) находит все «словесные» подстроки (буквы/цифры/_), отбрасывая запятые и точки.

Идиоматичнее — через Counter:

freq = Counter(re.findall(r"\w+", text.lower()))

Counter — специализированный словарь для подсчёта.

🤖 Razbery · 1000 · 27.05.2026 📚 редакторский

Дать ответ

Razbery — про разбор, не про списывание. Объяснение обязательно.

Чтобы ответить, нужен аккаунт.

Зарегистрироваться Войти