Как по ключу вложенного словаря вернуть значение основного?
Прошу немного помощи при работе со словарями. Есть словарь.
{'B': {'old': 60691.96, 'now': 61928.03, 'change': 2.04}, 'E': {'old': 4418.98, 'now': 4605.43, 'change': 4.22}, 'D': {'old': 188.5, 'now': 192.49, 'change': 2.12}}
max_percent = 4.22
for xer in global_dict.values():
if xer['change'] == max_percent:
print(xer)
break
else:
continue
Вывод
{'old': 4418.98, 'now': 4605.43, 'change': 4.22}
Мне нужно, чтобы ключ возвращался вместе с вложенным словарем. То есть.
{'E': {'old': 4418.98, 'now': 4605.43, 'change': 4.22}}
Проблема в том, что для поиска ключа, нужно сначала обратиться к элементам значения, сравнить с 4.22, а потом по этому значению вложенного ключа в 'change', вернуть значение словаря, в котором такое значение.
Ответы (1 шт):
Автор решения: Zhihar
→ Ссылка
в цикле вместо values() используйте items(), который содержит информацию и о ключе и о значении, а не только о значении
global_dict = {'B': {'old': 60691.96, 'now': 61928.03, 'change': 2.04}, 'E': {'old': 4418.98, 'now': 4605.43, 'change': 4.22}, 'D': {'old': 188.5, 'now': 192.49, 'change': 2.12}}
max_percent = 4.22
for xer in global_dict.items():
if xer[1]['change'] == max_percent:
print(xer)
break