Get parents keys from nested dictionary(从嵌套字典中获取父键)
本文介绍了从嵌套字典中获取父键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何从下面的嵌套字典中获取'value4ac'
的每个父字典键?通过启动 'value4ac'
值,我想得到 'key4'
, 'key4a'
, 'Key4ac'
>.
From the following nested dictionary, how can I get every parent dictionary key of 'value4ac'
? By starting the 'value4ac'
value, I want to get '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 个案例
It looks through the items and checks 2 cases
- item 不是字典——在这种情况下,看看它是否是我们正在寻找的值.如果是,则返回一个仅包含键的列表.(这是我们递归的基本情况).
- item 是一个字典——尝试在该字典中查找键.如果在该字典(或任何子字典)中找到它,则返回采用正确路径的键,该键预先挂在路径的其余部分.
这篇关于从嵌套字典中获取父键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:从嵌套字典中获取父键


基础教程推荐
猜你喜欢
- 何时使用 os.name、sys.platform 或 platform.system? 2022-01-01
- 筛选NumPy数组 2022-01-01
- 在 Python 中,如果我在一个“with"中返回.块,文件还会关闭吗? 2022-01-01
- Python kivy 入口点 inflateRest2 无法定位 libpng16-16.dll 2022-01-01
- 用于分类数据的跳跃记号标签 2022-01-01
- Dask.array.套用_沿_轴:由于额外的元素([1]),使用dask.array的每一行作为另一个函数的输入失败 2022-01-01
- 如何在海运重新绘制中自定义标题和y标签 2022-01-01
- 线程时出现 msgbox 错误,GUI 块 2022-01-01
- 如何让 python 脚本监听来自另一个脚本的输入 2022-01-01
- 使用PyInstaller后在Windows中打开可执行文件时出错 2022-01-01