Вывести значения из словаря словарей по ключу
tovar = {
'tovar': {
'Кофе': {
'300 мл - 119 руб': '119',
'400 мл - 149 руб': '149'
},
'Напиток': {
'300 мл - 119 руб': '119',
'400 мл - 139 руб': '139'
},
'Сироп': {
'300 мл - 119 руб': '119',
'400 мл - 139 руб': '139'
}
},
}
Подскажите как вывести значения по ключу Кофе ?
Пробовал print(tovar['tovar'][0]) не работает
Ответы (2 шт):
Автор решения: CrazyElf
→ Ссылка
Ну, например, так:
print(list(tovar['tovar'])[0])
# Кофе
Объяснение: порядок хранения ключей словаря исторически как бы не гарантирован (хотя в последних версиях Python уже всё же гарантирован), поэтому их нельзя индексировать по номерам. Но если ключи словаря превратить в список, тогда можно взять из этого списка элемент по индексу.
И да - у вас тут не массивы, а словари трёх уровней вложенности.
Автор решения: Mor4em
→ Ссылка
Не совсем понятно, что именно вы хотите вывести в итоге, но у меня есть такое предложение для решения
for name in tovar['tovar']:
print(name + ': ')
for k, v in tovar['tovar'][name].items():
print('{}: {}'.format(k, v))
Этот код выведет:
Кофе:
300 мл - 119 руб: 119
400 мл - 149 руб: 149
Напиток:
300 мл - 119 руб: 119
400 мл - 139 руб: 139
Сироп:
300 мл - 119 руб: 119
400 мл - 139 руб: 139