python, как найти, если словарь содержит данные из другого словаря

В Python, как найти, если словарь содержит данные из другого словаря.

мои данные присваиваются переменной, подобной этой

childDict = { "assignee" : { "first":"myFirstName", "last":"myLastName" }, "status" : "alive" } 

У меня есть другой словарь с именем masterDict с аналогичной иерархией, но с некоторыми другими данными.

 masterDict = { "description": "sample description", "assignee" : { "first" : "myFirstName", "last" : "myLastName" }, "status" : "dead", "identity": 1234 } 

Теперь мне нужно прочитать childDict и узнать, есть ли у masterDict эти значения в них или нет.

данные вложены, он может иметь большую глубину. В приведенном выше примере, поскольку статус не соответствует, он должен возвращать значение false, иначе он должен был бы возвратить true. как сравнить их. Я новичок в python. Спасибо за вашу помощь.

Обратите внимание, что в вашем словаре были некоторые ошибки (отсутствующие запятые).

 childDict1 = { "assignee": { "first":"myFirstName", "last":"myLastName" }, "status" : "alive" } childDict2 = { "assignee": { "first":"myFirstName", "last":"myLastName" }, "status" : "dead" } masterDict = { "description": "sample description", "assignee": { "first":"myFirstName", "last":"myLastName" }, "status": "dead", "identity": 1234 } def contains_subdict(master, child): if isinstance(master, dict) and isinstance(child, dict): for key in child.keys(): if key in master: if not contains_subdict(master[key], child[key]): return False return True else: if child == master: return True return False print contains_subdict(masterDict, childDict1) print contains_subdict(masterDict, childDict2) 

Запуск кода дает результат:

 False True