-2
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)

我试图将一个单词的同义词的输出与普通字符串进行比较,但是在删除单词 flabbergasted 之后,我得到了这个输出而不是所有这些值。

惊奇

惊奇

Bowl_over

目瞪口呆

目瞪口呆

大吃一惊

惊呆了

震惊

目瞪口呆

目瞪口呆

我应该如何纠正这个?先感谢您。

4

1 回答 1

0

我怀疑您打算访问name该对象的属性Lemma。要打印“惊讶”之外的所有内容,您可以尝试:

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
于 2013-09-28T03:56:29.780 回答