Я пытаюсь убрать пунктуацию и посчитать частоту слов. Часть моего кода работает, но мои коды кажутся неполными.
def word_distribution(text_string):
words_list = text_string.split()
words_list = [words_list[i].lower() for i in range(len(words_list))]
for i in range(len(words_list)):
if not words_list[i].isalpha():
word = words_list[i]
for j in word:
if j != "\'" and not j.isalpha():
id = word.find(j)
words_list[i] = word.replace(word[id],"")
words_dict = {}
for word in words_list:
if word in words_dict:
words_dict[word] += 1
else:
words_dict[word] = 1
result = words_dict
return result
word_distribution("Hello,, hello, hi, Hurray!!!, Hurray, What's up!,Today
is Saturday, Saturday, saturday. Funday.")
Я пытаюсь получить слова вроде {'привет': 2,' привет ': 1} и так далее.Это работает для привет слова, но для Ура это дает мне вывод, как ура !!! ': 1,' Ура ': 1 вместо Ура: 2.Я не могу понять, почему он так себя ведет.
Любые отзывы о том, почему он так поступает, ценятся.