#python #python-3.x #list #dictionary #get
#python #python-3.x #Список #словарь #получить
Вопрос:
Я пытаюсь закодировать эту небольшую программу, но по какой-то причине я застопорился в этой части. Я хочу, чтобы код печатал «случайный ответ» и «другой ответ», но в итоге выдает ошибку атрибута. Любая помощь? Спасибо..
Вот код.
dictionary = {
'one':{'random':'random answer'},
'two':{'random':'another answer'}
}
for item in dictionary:
print(item.get('random'))
Ответ №1:
Попробуйте это.
dictionary = {
'one':{'random':'random answer'},
'two':{'random':'another answer'}
}
for key, item in dictionary.items():
print(item.get('random'))
Ответ №2:
Для перебора словаря вы можете использовать dictionary.items()
, который дает вам кортеж пары ключ-значение. Вы можете принять их item, value
. Затем вы можете использовать value.get(another_key)
dictionary = {
'one': {'random': 'random answer'},
'two': {'random': 'another answer'}
}
# item -> 'one' and value -> '{'random': 'random answer'}'
# value will be the dictionary on which you can call get function
for item, value in dictionary.items():
print(value.get('random'))
Ответ №3:
Если вы выполняете итерацию по dict в Python, вы фактически выполняете итерацию по ключам словаря, а не по парам ключ-значение. Итак, в вашем коде элемент является ключом и, следовательно get('random')
, сбой.
Для перебора пар ключ-значение вы можете использовать этот .items()
метод. Таким образом, вы будете перебирать кортежи пар ключ-значение:
for key, value in dictionary.items():
print(value.get('random'))