Иногда в программировании возникает задача поиска разницы между двумя наборами
данных, такими как словари. Например, при поиске различий в json файлах.
Для этого даже существуют специальные сервисы, например,
http://www.jsondiff.com/ (попробуйте нажать на ссылку sample data и затем
кнопку Compare).
Реализуйте функцию gen_diff, которая сравнивает два словаря и возвращает
результат сравнения в виде словаря. Ключами результирующего словаря будут все
ключи из двух входящих, а значением строка с описанием отличий: added, deleted,
changed или unchanged.
Возможные значения:
added— ключ отсутствовал в первом словаре, но был добавлен во второйdeleted— ключ был в первом словаре, но отсутствует во второмchanged— ключ присутствовал и в первом и во втором словаре, но значения отличаютсяunchanged— ключ присутствовал и в первом и во втором словаре с одинаковыми значениями
from solution import gen_diff
>>> gen_diff(
... {"one": "eon", "two": "two", "four": True},
... {"two": "own", "zero": 4, "four": True},
... )
{"one": "deleted", "two": "changed", "four": "unchanged", "zero": "added"}Фрагмент этой задачи разбирается в докладе "Ментальное программирование"