У меня вопрос, немного похожий на: Замена значения словаря Python значением другого словаря, которое соответствует ключу других словарей
Однако в моем случае я получил два словаря
dict1 = {'foo' : ['val1' , 'val2' , 'val3'] , 'bar' : ['val4' , 'val5']}
dict2 = {'foo' : ['val2', 'val10', 'val11'] , 'bar' : ['val1' , 'val4']}
То, что я хочу вернуть, это
dict3 = {'foo' : ['val10', 'val11'] , 'bar' : ['val1']}
, а противоположное -
dict4 = {'foo' : ['val1', 'val3'] , 'bar' : ['val5']}
, где dict3 возвращает словарь значений ключей foo'и' bar 'получили в dict2, а dict4 - это словарь значений, потерянных ключами' foo 'и' bar 'в dict2
Один из способов, который я попытался решить, это:
iterate over both dictionaries then
if key of dict1 == key of dict2
return the values of the key in dict1 and compare with the values in dict2
return the values that aren't in both
as a dictionary of the key and those values
Эта идея не работает и, очевидно, крайне неэффективна.Я надеялся, что есть более эффективный способ сделать это