У меня есть два списка слов / строк: x & y.Другая часть некоторых слов в x находится в y, и я хочу объединить их. Например, я хочу объединить слово «eng» из списка x с другой его частью «ments» из списка y или «operation» из списка xс 'nelle' из списка y.Мне также нужно проверить в словаре, существует ли каждое слово / токен из списка x в dic, а составное слово существует в dic.Если это так, добавьте их в другой список (текст).Код, который я безуспешно пробовал:
import nltk
from nltk.tokenize import word_tokenize
x=['les', 'engage', 'président', 'de',
'la', 'république', 'sont', 'aussi',
'ceux', 'des', 'dirigeants', 'de', 'la',
'société', 'ferroviaire', ',', 'a-t-il',
'soutenu', 'de', 'élus', 'du', 'réunis',
'à', '’', 'le', 'président', 'de', 'la',
'république', ',', '(', 'à', 'droite',
')', ',', 'aux', 'côtés', 'du', 'patron',
'de', 'la', ',', 'guillaume', 'à', 'la',
'gare', 'à', 'paris', ',', 'le',
'juillet', 'der', '’', 'irrita', ',',
'par', 'fois', ',', '’', 'usa', 'la',
'face', 'aux', 'trains', 'supprimés',
'aux', 'dessertes', 'abandonnées',
'semble', 'avoir', 'aussi', 'saisi', 'le',
'président', 'de', 'la', 'république',
'.', 'devant', 'des', 'élus', 'du', ',',
'réunis', 'mardi', 'février', 'à', '’',
'le', 'cadre', 'du', 'grand', 'débat',
',', 'a', 'eu', 'des', 'mots', 'très',
'durs', 'contre', 'la', ',', 'qui', 'a',
'fermé', 'la', 'ligne', '-', 'décembre',
',', 'alors', 'que', 'le', 'chef', 'de',
'’', '’', 'était', 'engagé', ',',
'durant', 'un', 'déplacement', 'dans',
'les', 'tué', 'en', 'avril', ',', 'à',
'ce', '’', 'elle', 'reste', 'opération']
y=['ments', 'prési', 'républi', 'vant',
'elysée', 'emmanuel', 'macron', 'cô',
'pepy', 'montparnasse', 'geoffroy',
'hasselt', '/', 'afp', 'tion', 'empare',
'gers', 'més', 'elysée', 'emmanuel',
'macron', 'epinal', 'etat', 'dépla',
'cement', 'vosges', 'effec', 'nelle']
text=[ ]
with open ('Fr-dictionary.txt') as d:
dic = word_tokenize(d.read().lower())
for i in x:
if i in dic:
text.append(i)
else:
for j in y:
concatenated = i + j
if concatenated in dic:
text.append(concatenated)
print(text)
Что здесь не так?