Сопоставление ключей вложенного словаря с ключом исходного словаря

Существует 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)
→ Ссылка