Рекурсивная функция для проверки словаря является подмножеством другого словаряPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Рекурсивная функция для проверки словаря является подмножеством другого словаря

Сообщение Anonymous »

Я хотел бы рекурсивно проверить, является ли словарь подмножеством другого словаря. Предположим, что оба словаря имеют встроенные типы в качестве элементов.

Я видел, что уже существует очень старая тема 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]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»