【发布时间】:2019-03-14 16:55:39
【问题描述】:
我有两个单词/字符串列表:x 和 y。 x 中某些单词的另一部分在 y 中,我想将它们连接起来。例如,我想将列表 x 中的单词“engage”与列表 y 中的其他部分“ments”或列表 x 中的“操作”连接起来使用列表 y 中的“nelle”。如果列表 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)
这里有什么问题?
【问题讨论】:
-
我发现今天回答了一个类似的问题,是你:stackoverflow.com/q/55163092/8472377
-
@Austin,是的,但解决方案不起作用。
标签: python string list concatenation