Python: Вычислитель различий

Python: Словари и Множества 4 сообщения
Обновлено: 29 марта, 14:44
210
Студентов
96%
Завершения

Иногда в программировании возникает задача поиска разницы между двумя наборами данных, такими как словари. Например, при поиске различий в json файлах. Для этого даже существуют специальные сервисы, например, http://www.jsondiff.com/ (попробуйте нажать на ссылку sample data и затем кнопку Compare).

src/solution.py

Реализуйте функцию 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"}

Подсказки

Для полного доступа к испытанию нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
900
упражнений
2000+
часов теории
3200
тестов