26 lines
709 B
Python
Executable File
26 lines
709 B
Python
Executable File
def is_subset(*, superset, subset):
|
|
for key, value in subset.items():
|
|
if key not in superset:
|
|
return False
|
|
|
|
if isinstance(value, dict):
|
|
if not is_subset(superset=superset[key], subset=value):
|
|
return False
|
|
|
|
elif isinstance(value, str):
|
|
if value not in superset[key]:
|
|
return False
|
|
|
|
elif isinstance(value, list):
|
|
if not set(value) <= set(superset[key]):
|
|
return False
|
|
elif isinstance(value, set):
|
|
if not value <= superset[key]:
|
|
return False
|
|
|
|
else:
|
|
if not value == superset[key]:
|
|
return False
|
|
|
|
return True
|