gpt4 book ai didi

python - 如何在 Python 中找到有多少层字典

转载 作者:太空宇宙 更新时间:2023-11-03 14:05:47 25 4
gpt4 key购买 nike

例如:

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}}

我们如何以优化的方式找到最多 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))

我得到 3

注意:它仅在存在标量和字典值时有效。引入嵌套字典的列表并且没有考虑它们,它需要稍微复杂的代码(但仍然可行!)

关于python - 如何在 Python 中找到有多少层字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43587505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com