У меня есть два словаря, которые я хочу сопоставить по ключу, чтобы создать новый словарь с каждым значением в dict1 как ключ и список значений каждого соответствующего ключа в dict2 как значение на выходе. Пример должен быть менее запутанным:Сопоставьте два словаря по ключам и возвращаемому массиву значений
dict1 = {'AAA': 'id5', 'BBB': 'id3', 'CCC': 'id8', 'DDD': 'id3'}
dict2 = {'AAA': 'value8', 'BBB': 'value24', 'CCC': 'value13', 'DDD': 'value2'}
То, что я пробовал:
keys = set(dict1) & set(dict2)
complete = {}
for x in keys:
key = dict1[x]
value = dict2[x]
complete[key] = [value]
Выход:
complete = {'id3': ['value24'], 'id5': ['value8'], 'id8': ['value13']}
Желаемый результат:
complete = {'id3': ['value24', 'value2'], 'id5': ['value8'], 'id8': ['value13']}
В действительности словари довольно большой, поэтому pe Важным фактором является реформация. Любая помощь приветствуется.
Почему '' id3'' используется, поскольку он не уникален? –
@PadraicCunningham: вот в чем смысл; Я тоже неправильно понял, но * значения * из 'dict1' являются * ключами * на выходе, в сочетании со значениями из другого словаря. –
@MartijnPieters. yep, но 'id3' появляется дважды, поэтому ключи должны быть' id5' и 'id8', идущими *. Создайте новый словарь с каждым уникальным значением в dict1 как ключ * –