Я видел, что уже существует очень старая тема Python: проверьте, не является ли один словарь подмножеством другого более крупного словаря, пытающегося решить что-то похожее, но не совсем... Поскольку ни один из существующих ответов не подойдет для моих целей, я решил опубликовать там свое собственное решение, но оно все еще не полностью завершено, функция ниже работает нормально почти для всех случаях, но он с треском терпит неудачу в тех случаях, когда подмножество имеет значения, которых нет в надмножестве, то есть:
Код: Выделить всё
def is_subset(superset, subset):
for key, value in superset.items():
if key not in subset:
continue
if isinstance(value, dict):
if not is_subset(value, subset[key]):
return False
elif isinstance(value, str):
if not subset[key] in value:
return False
elif isinstance(value, list):
if not set(subset[key])
Подробнее здесь: [url]https://stackoverflow.com/questions/49419486/recursive-function-to-check-dictionary-is-a-subset-of-another-dictionary[/url]