Виновником является строка кода:
print (normalized_text(str(item)))
Если вы попытаетесь вывести str(item)
для первого элемента вашего списка sentence
, вы получите:
['The birds are always in their house.']
, который затем опускается и разделяется:
["['the", 'birds', 'are', 'always', 'in', 'their', "house.']"]
Как видите, первый элемент - ['the
, который не соответствует стоп-слову the
.
Решение: Используйте ''.join(item)
для преобразования элемента в str
Редактировать после комментария
Внутри текстовой строки еще естьнекоторые вершины '
.Чтобы решить, вызовите normalized
как:
for item in sentence:
print (normalized_text(item))
Затем импортируйте модуль регулярных выражений с помощью import re
и измените:
text.lower().split()
с помощью:
re.split('\'| ', ''.join(text).lower())