Сопоставление ключей вложенного словаря с ключом исходного словаря
Существует 2 словаря:
dict1={'proxyid':nvps} содержащий в себе данные {'10444': 1.7722, '10441': 0.01666}
и
dict2={'hostid':proxyid} с данными {'10084': 10445, '10443': 10441}.
Вопрос - как сделать сопоставление ключа из первого словаря с аргументом второго словаря, чтобы в дальнейшем произвести объединение двух данных словарей в один новый составной с сортировкой по ключу (proxyid) из dict1, чтобы получился вот такой вот вывод:
{'10444': {'10443': 10444},
'10441': {'10084': 10441}}
Ответы (1 шт):
Автор решения: Алексей Белкин
→ Ссылка
@Альберт, если я правильно понял Вашу логику, то получается так:
d1 = {'10444': 1.7722, '10441': 0.01666}
d2 = {'10084': 10444, '10443': 10441}
d3 = {}
for key, value in d2.items():
if str(value) in d1:
d3[value] = {key:value}
print(d3)
ИТОГ:
{10444: {'10084': 10444}, 10441: {'10443': 10441}}
Либо более короткая запись:
d1 = {'10444': 1.7722, '10441': 0.01666}
d2 = {'10084': 10444, '10443': 10441}
d3 = {key:value for key, value in d2.items() if str(value) in d1}
print(d3)