我试图获取某些单词的同义词。有些是首字母缩略词,如世界卫生组织(世界卫生组织)或美国(美利坚合众国)等。我试图通过以下代码逃避错误的缩略词:
from nltk.corpus import wordnet as wn
def foo():
s = 'WHO'
ss = wn.synsets(s)[0]
print [str(x) if list in range in ss else s]
foo()
问题在于我一直收到错误:
s = wn.synsets(ss)[0]
IndexError
: list index out of range
答案 0 :(得分:1)
我试图逃避错误的缩略词
问题是它无法找到'WHO'
的任何同义词集,因此会返回一个空列表,而您的[0]
会导致错误,如您所见。
尝试使用此
来避免它def foo():
s = wn.synsets('WHO')
if s:
ss = s[0]
print ss
此外,您的列表理解没有意义,但这不是问题的一部分。