import nltk
from nltk.corpus import wordnet as wn
w = 'flabbergasted'
ws = wn.synsets(w)
for s in ws:
for l in s.lemmas:
if str(l) == "flabbergasted":
break
else:
print(l.name)
我试图将单词同义词的输出与普通字符串进行比较,但是在删除单词后,我得到了这个输出而不是所有这些值。
惊奇
惊奇
bowl_over
傻眼
目瞪口呆
大吃一惊
愣
雷击
目瞪口呆
dumbstricken
我该如何纠正?先感谢您。
答案 0 :(得分:0)
我怀疑您打算访问name
对象的Lemma
属性。要打印除了“flabbergasted”之外的所有内容,您可以尝试:
for s in ws:
for l in s.lemmas:
if l.name != "flabbergasted":
print(l.name)
给出输出:
flabbergast
boggle
bowl_over
dumbfounded
dumfounded
stupefied
thunderstruck
dumbstruck
dumbstricken