Я анализирую текст Макбета через веб-сайт Project Gutenberg и пытаюсь составить список персонажей, упомянув их имена.Я знаю, что есть способ сделать это с помощью nltk, но сейчас я пытаюсь избежать этого.Я получаю имена, находя в тексте все экземпляры «Enter», а затем пытаюсь удалить все строчные слова.Вот код, который у меня есть:
import requests
macbeth = requests.get('http://www.gutenberg.org/cache/epub/2264/pg2264.txt').text
macbeth = macbeth.split('.')
character_list = [sentence.split() for sentence in macbeth if 'Enter' in sentence]
for sublist in character_list:
for string in sublist:
if string.islower() == True:
sublist.remove(string)
Вот фрагмент вывода, который я получаю при печати результата:
[['Enter', 'Witches'],
['Enter',
'King,',
'Malcome,',
'Donalbaine,',
'Lenox,',
'attendants,',
'a',
'Captaine'],
['Enter', 'Rosse', 'Angus'],
['Enter', 'three', 'Witches'],
['Enter', 'Macbeth', 'Banquo'],
["Toth'", 'tune', 'words:', 'here?', 'Enter', 'Rosse', 'Angus']
etc.
Мне трудно понять, почему«обслуживающий персонал», «а», «три», «мелодия» и т. д. не удаляются из каждого подсписка.Я что-то упустил в коде, который у меня сейчас есть?