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. Спасибо за вашу помощь.
- Создание зеркального слова, основанного на симметрии буквы
- итерация по массиву с несколькими значениями
- Поиск несоответствий в кортежах и объединение их в Python
- Есть ли способ эффективно сравнить два списка dicts в python?
- Лучший способ проверить new-line-independent-identity 2 файла с помощью 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
- Все индексы каждого уникального элемента в списке python
- Размеры в функциональных возможностях keras
- TypeError: NoneType, может сравниваться, если он равен, ошибка, когда больше, чем
- Python: слияние словаря путем обновления, но не перезаписи, если существует значение
- Сравнение 2 списков, состоящих из словарей с уникальными ключами в python
- Сравнение Нет со встроенными типами с использованием арифметических операторов?
- сравнение строк в питоне, но не расстояние Левенштейна (я думаю)
- PANDAS – объединение двух индексов datetime с разными размерами для сравнения дней и значений
- Как скопировать данные в Python
- python: почему IDLE медленнее, чем терминал?
- Поиск определенных столбцов таблицы для несоответствующих элементов