Как узнать одно значение слова с помощью PyDictionary?

Я пытаюсь достичь возможности выбрать одно случайное значение слова с помощью 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. Если вы или кто-нибудь знает, как исправить эту ошибку, помогите, оставив ответ. Заранее спасибо :)

3 ответа

Решение

dic возвращает объект dict, а не список, поэтому вы не можете использовать индексы для получения первого элемента.

Вы можете сделать это вместо

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

Обратите внимание, что в Python и большинстве других языков подсчет начинается с 0. Таким образом, первым элементом в списке является индекс 0, а не 1.

Если вы хотите получить случайный предмет, вы можете использовать этот код

      from PyDictionary import PyDictionary
import random

dic=PyDictionary()
word = dic.meaning('book')
random = random.choice(list(word.items()))
print(random)

wordявляется словарем, поэтому вы не можете получить доступ к его значениям с помощью индексов, вы должны использовать ключи для вызова его значений. Здесь у вас есть Nounключ, значения которого представляют собой список значений. Итак, чтобы получить доступ к значениям этого списка, вы можете использовать:

      word = dic.meaning('book')
for i in len(word['Noun']):
    print(word['Noun'][i])
Другие вопросы по тегам