例如:
d = {1:{'name':'x', 'age':24, 'address':{'country':'zzz', 'zip':12345}}, 2:{'name':'y', 'age':21, 'address':{'country':'yyy', 'zip':54321}}, 3:{'name':'z', 'age':25}}
Run Code Online (Sandbox Code Playgroud)
我们如何以优化的方式找到最多 3 层(字典内的字典)的字典。
为字典计数 1,否则为 0,并取所有字典值的“最坏情况”:
my_dict = {1:{'name':'x', 'age':24, 'address':{'country':'zzz', 'zip':12345}}, 2:{'name':'y', 'age':21, 'address':{'country':'yyy', 'zip':54321}}, 3:{'name':'z', 'age':25}}
def count(d):
return max(count(v) if isinstance(v,dict) else 0 for v in d.values()) + 1
print(count(my_dict))
Run Code Online (Sandbox Code Playgroud)
我得到 3