0

我想要实现的是能够使用 PyDictionary 选择一个单词的随机含义,使用以下代码:

word = dic.meaning('book')
print(word)

到目前为止,这仅输出一长串含义,而不仅仅是一个。

{'Noun': ['a written work or composition that has been published (printed on pages bound together', 'physical objects consisting of a number of pages bound together', 'a compilation of the known facts regarding something or someone', 'a written version of a play or other dramatic composition; used in preparing for a performance', 'a record in which commercial accounts are recorded', 'a collection of playing cards satisfying the rules of a card game', 'a collection of rules or prescribed standards on the basis of which decisions are made', 'the sacred writings of Islam revealed by God to the prophet Muhammad during his life at Mecca and Medina', 'the sacred writings of the Christian religions', 'a major division of a long written composition', 'a number of sheets (ticket or stamps etc.'], 'Verb': ['engage for a performance', 'arrange for and reserve (something for someone else', 'record a charge in a police register', 'register in a hotel booker']}

我试图给我的第一个含义是:

word = dic.meaning('book')
print(word[1])

但这样做会导致此错误:KeyError: 1 . 如果您或任何人知道如何解决此错误,请留下回复以提供帮助。提前致谢 :)

4

3 回答 3

2

dic正在返回一个 dict 对象,而不是一个列表 - 所以你不能使用索引来获取第一项。

你可以这样做

word = dic.meaning('book')
print(list(word.values())[0])

请注意,在 Python 和大多数其他语言中,计数从 0 开始。因此列表中的第一项是索引 0 而不是 1。

于 2021-10-18T03:18:45.180 回答
1

如果您的想法是获取随机项目,则可以使用此代码

from PyDictionary import PyDictionary
import random

dic=PyDictionary()
word = dic.meaning('book')
random = random.choice(list(word.items()))
print(random)
于 2021-10-18T03:44:00.863 回答
1

word是一个字典,所以你不能用索引访问它的值,你必须使用键来调用它的值。在这里,您有一个Noun键,它的值是一个含义列表。因此,要访问此列表的值,您可以使用:

word = dic.meaning('book')
for i in len(word['Noun']):
    print(word['Noun'][i])
于 2021-10-18T04:05:05.587 回答