Подсчёт количества вхождений уникальных слов в тексте

Определите границы слов и правила регистра, затем посчитайте частоты через Counter. Для обычного текста можно выделять последовательности букв.

Короткий ответ

Что ответить на собеседовании

Определите границы слов и правила регистра, затем посчитайте частоты через Counter. Для обычного текста можно выделять последовательности букв.

Подробный разбор

Ответ с пояснениями

Условие

Вам предоставлен блок текста. Необходимо определить, как часто каждое уникальное слово встречается в данном тексте.

Ответ

Определите границы слов и правила регистра, затем посчитайте частоты через Counter. Для обычного текста можно выделять последовательности букв.

import re
from collections import Counter

def word_counts(text):
    words = re.findall(r'[^\W\d_]+', text.casefold())
    return dict(Counter(words))

В этом варианте регистр игнорируется, цифры и пунктуация разделяют слова. Например, Кот, кот и дом даст {'кот': 2, 'и': 1, 'дом': 1}. Словоформы вроде кот и кота считаются разными: лемматизация не входит в простой подсчёт.

Ожидаемое время линейно относительно размера текста, память зависит от числа уникальных слов. Для больших файлов применяйте те же правила последовательно к строкам или блокам, сохраняя границы токенов.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее