Как посчитаешь количество вхождений слов в текстовом файле

«Как посчитаешь количество вхождений слов в текстовом файле» — вопрос из категории Python, который задают на 38% собеседований Продуктовый Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для подсчёта вхождений слов в текстовом файле можно использовать Python с модулем collections. Пример:

from collections import Counter
import re

def count_words(filename):
    with open(filename, 'r', encoding='utf-8') as file:
        text = file.read().lower()  # Чтение файла и приведение к нижнему регистру
        words = re.findall(r'w+', text)  # Разбиение на слова
        return Counter(words)  # Подсчёт вхождений

word_counts = count_words('example.txt')
print(word_counts.most_common(10))  # Топ-10 самых частых слов

Ключевые моменты:

  1. Чтение файла с указанием кодировки
  2. Приведение к нижнему регистру для регистронезависимого подсчёта
  3. Использование регулярного выражения w+ для выделения слов
  4. Counter из модуля collections эффективно считает частоту элементов

Для больших файлов можно использовать построчную обработку. В Unix-системах альтернатива - grep -o -i 'w+' file | sort | uniq -c | sort -nr.