gpt4 book ai didi

python - 如何找到 python 字典或 JSON 对象的最大值 "depth"?

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

我有一个 json 字符串,我想知道它的最大深度是多少。我所说的深度是指嵌入式 key 的数量。因此,如果一个键有 7 个“ child ”并且知道其他键有那么多,则深度将为 8。

因为唯一可以嵌入其他对象的类型(我相信)是数组和其他字典,所以这就是所有需要检查的类型。有办法检查吗?

我希望在没有外部模块的情况下实现这一目标,但如果不是,我将以 python3 为目标。

注意:这里是我所说的“深度”

以下字典:

{
"path": "/0001_Anthem",
"name": "0001_Anthem",
"isMovie": true,
"runtime": 3600,
"thumbnailLocation": "/thubs/test.png",
"id": 1,
"media": [
{
"path": "/0001_Anthem/louvers.mp4",
"name": "louvers.mp4"
}
]
}

3 的“深度”或长度,因为最远的嵌入项是 media 数组(第 2 级)中的键/值对(第 3 级) ,在主 dictionary 中(级别 1)。我不确定其他人使用什么术语,这只是我认为有意义的术语。

谢谢

最佳答案

这是一种实现方式:

def depth(x):
if type(x) is dict and x:
return 1 + max(depth(x[a]) for a in x)
if type(x) is list and x:
return 1 + max(depth(a) for a in x)
return 0

关于python - 如何找到 python 字典或 JSON 对象的最大值 "depth"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30928331/

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