【发布时间】:2021-04-25 03:58:21
【问题描述】:
使用 nltk 根据输入的关键字列表生成同义词列表。
当 nltk 没有同义词时(即返回“None”时),我收到“TypeError: 'NoneType' object is not 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 list loops nltk list-comprehension