1
我需要知道,如果一個字典包含到另外一個,遞歸,在Python 3字典:像Test if dict contained in dict描述的字典視圖Recusively測試是否包含在字典
first = {"one":"un", "two":"deux", "three":"trois" , "sub": { "s1": "sone" }}
second = {"one":"un", "two":"deux", "three":"trois", "foo":"bar", "sub": { "s1": "sone", "s2": "stwo"}}
用法是一個非常好的方式,但不處理遞歸情況。
我想出了這個功能:
def isIn(inside, outside):
for k, v in inside.items():
try:
if isinstance(v,dict):
if not isIn(v, outside[k]):
return False
else:
if v != outside[k]:
return False
except KeyError:
return False
return True
哪些工作:
>>> first.items() <= second.items()
False
>>> isIn(first, second)
True
但有一個更好的(更Python)的方式?
如果第一個參數是空的,任何第二個參數將通過測試。例如:'isIn({},9999)== True'。 – FMc