Привет! В этой статье я хочу поделиться с вами методом подсчета количества встречаемых слов в большой текстовой строке и возвратом 10 самых частых слов.Для начала‚ нам понадобится текстовая строка‚ в которой нужно подсчитать слова. Предположим‚ у нас есть следующая строка⁚
python
text ″Это очень интересный текст‚ который содержит много слов. Это первое предложение‚ а это второе предложение.″
Первое‚ что нам нужно сделать ⎯ это удалить все знаки препинания и привести все слова к нижнему регистру; Для этого можно воспользоваться функцией `re.sub` и методом `lower` строки.python
import re
# Удаляем знаки препинания
text re.sub(r'[^\w\s]’‚ »‚ text)
# Приводим все слова к нижнему регистру
text text.lower
Далее нам нужно разделить строку на отдельные слова. Для этого мы можем использовать метод `split` строки.python
# Разделяем строку на слова
words text.split
У нас есть список всех слов. Теперь нужно подсчитать количество повторяющихся слов. Для этого мы можем использовать словарь‚ где ключом будет слово‚ а значением ー количество его повторений.python
# Создаем пустой словарь для подсчета
word_count {}
# Подсчитываем количество повторений каждого слова
for word in words⁚
if word in word_count⁚
word_count[word] 1
else⁚
word_count[word] 1
Теперь у нас есть словарь‚ где ключами являются слова‚ а значениями ー количество повторений. Чтобы найти 10 самых частых слов‚ мы можем использовать метод `sorted`‚ передавая ключ `word_count.get`‚ который будет сортировать слова по их значению (количество повторений).python
# Сортируем слова по количеству повторений
most_common_words sorted(word_count‚ keyword_count.get‚ reverseTrue)[⁚10]
Метод `sorted` возвращает отсортированный список слов. Мы можем использовать срез `[⁚10]`‚ чтобы получить только первые 10 самых частых слов.Наконец‚ чтобы вывести полученные слова‚ мы можем использовать цикл `for` и `print`.python
for word in most_common_words⁚
print(word)
Итак‚ вот весь код вместе⁚
python
import re
text ″Это очень интересный текст‚ который содержит много слов. Это первое предложение‚ а это второе предложение.″
text re.sub(r'[^\w\s]’‚ »‚ text)
text text.lower
words text.split
word_count {}
for word in words⁚
if word in word_count⁚
word_count[word] 1
else⁚
word_count[word] 1
most_common_words sorted(word_count‚ keyword_count.get‚ reverseTrue)[⁚10]
for word in most_common_words⁚
print(word)
Этот код подсчитывает количество повторений всех слов в текстовой строке и выводит 10 самых частых слов. Он игнорирует знаки препинания и регистр символов‚ а также не считает числа за слова.
Надеюсь‚ этот метод будет полезен для вас!