使用nltk根据输入的关键字列表生成同义词列表
当nltk没有同义词时(即,当返回“None”时),我得到“TypeError:“NoneType”对象不可iterable”
from nltk.corpus import stopwords
from PyDictionary import PyDictionary
dictionary=PyDictionary()
inputWords = ['word1','word2','word3','word4','word5','word6','word7','word8']
synonyms = list(dictionary.synonym(i) for i in inputWords
同义词的当前输出:
[['syn1','syn2','syn3'],['syn4'],None,['syn5'],None,['syn6','syn7'],None,['syn8'],None]]
同义词的所需输出:
['syn1','syn2','syn3','syn4','syn5','syn6','syn7','syn8']
我试过:
flat_list = [item for sublist in synonyms for item in sublist]
输出:
TypeError: 'NoneType' object is not iterable
我应该写些什么来返回干净列表中的同义词?我更喜欢使用列表理解。 谢谢你的帮助。我是个Python迷,找不到确切的答案
尝试:
下面是一个更具python风格的单行线:
您可以删除
None
值并使用itertools-相关问题 更多 >
编程相关推荐