У меня есть словарь слов и текст. Я хотел бы создать список, который содержит все слова, содержащиеся как в словаре, так и в тексте, с оговоркой, что если слово в словаре существует более одного раза в тексте, оно также должно добавить его в список. поэтому список может продолжать одно и то же слово более одного раза, если это слово повторяется в тексте.
Я использую оператор if внутри цикла for, который останавливает итерацию, как только найдено совпадение, и переходит к следующему слову в словаре, не продолжая поиск первого слова снова до конца текста. текст представляет собой одну строку. Вот мой код
text = 'The Notes will be a further issuance of and will form a single
series with billion aggregate principal amount Notes due, in the case of the Notes,
the principal amount of the Notes'
dictionary = ['Notes', 'issuance', 'form', 'series', 'aggregate', 'due',
'case', 'constitution', 'executive']
list_of_words=[]
for word in (dictionary):
if word in text:
list_of_words.append(word)
Я хотел бы видеть, например, слово «Примечания», повторяющееся в list_of_words, потому что оно существует в словаре и повторяется в тексте. Как в примере ниже:
['Notes', 'issuance', 'form', 'series', 'aggregate', 'Notes, 'due', 'case', 'Notes']
Однако мой код возвращает только первый экземпляр совпадения, как показано ниже:
['Notes', 'issuance', 'form', 'series', 'aggregate', 'due', 'case']