如何使用 wordnet.synsets() 获取列表中多个单词的定义

How to obtain definitions for multiple words in a list with wordnet.synsets()

我可以得到一个词的定义如下:

from nltk.stem import WordNetLemmatizer
from nltk.corpus import wordnet

wordnet.synsets('hello')[0].definition()

*an expression of greeting*

但是,如何使用单词列表获得相同的结果?

df =  ['Unnamed 0',
 'business id',
 'name',
 'postal code',
]

df2 = []
for x in df:
    df2.append(wordnet.synsets(x))

我可以对 df2 做些什么来让它显示我列表中每个单词的第一个定义?

注意:并不是所有的词都能在 wordnet 中找到。

from nltk.corpus import wordnet

df = ['Unnamed 0','business id','name','postal code']
df = [x.strip().replace(' ', '_') for x in df]

df2 = []
for x in df:
    syns = (wordnet.synsets(x))
    df2.append(syns[0].definition() if len(syns)>0 else '')

print(df2)

输出:

['', '', 'a language unit by which a person or thing is known', 'a code of letters and digits added to a postal address to aid in the sorting of mail']