gpt4 book ai didi

python - 从嵌套字典中获取父键

转载 作者:太空狗 更新时间:2023-10-29 21:26:58 25 4
gpt4 key购买 nike

如何从下面的嵌套字典中获取'value4ac' 的每个父字典键?通过启动 'value4ac' 值,我想得到 'key4''key4a''Key4ac'.

example_dict = { 'key1' : 'value1',
'key2' : 'value2',
'key3' : { 'key3a': 'value3a' },
'key4' : { 'key4a': {
'key4aa': 'value4aa',
'key4ab': 'value4ab',
'key4ac': 'value4ac'
},
'key4b': 'value4b'
}
}

最佳答案

递归来拯救!

example_dict = { 'key1' : 'value1',
'key2' : 'value2',
'key3' : { 'key3a': 'value3a' },
'key4' : { 'key4a': { 'key4aa': 'value4aa',
'key4ab': 'value4ab',
'key4ac': 'value4ac'},
'key4b': 'value4b'}
}

def find_key(d, value):
for k,v in d.items():
if isinstance(v, dict):
p = find_key(v, value)
if p:
return [k] + p
elif v == value:
return [k]

print find_key(example_dict,'value4ac')

工作原理

它查看项目并检查 2 个案例

  • item 不是字典——在这种情况下,看看它是否是我们正在寻找的值。如果是,则返回一个仅包含键的列表。 (这是我们递归的基本情况)。
  • item 是一本字典 -- 尝试在该字典中查找关键字。如果在该字典(或任何子字典)中找到它,则返回将正确路径添加到路径其余部分的键。

关于python - 从嵌套字典中获取父键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15210148/

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