首页 > 解决方案 > 如果字典中的项目 == True -> 将字典名称作为字符串返回

问题描述

我需要在一些字典结构中执行搜索:

dic_global = {
    'key_lev1_1': {
        'key_lev2_a': 'some_value_1',
        'key_lev2_b': 'some_value_2'
                  },
    'key_lev1_2': 'some_value_111'
}

我需要对整个结构中的项目执行递归搜索,以便该函数返回项目所在的键。因此,如果 fun 找到 'key_lev2_a' 它会返回 'key_lev1_1' - 外壳的名称,即带有 'key_lev2_a' 的字典所在的键。

可能吗 ?

标签: pythonpython-3.xdictionary

解决方案


def find_key(obj, key):
    if key in obj:
        return obj
    for k, v in obj.items():
        if isinstance(v, dict):
            item = find_key(v, key)
            if item is not None:
                return k

(来源:修改了字典中的按值获取键


推荐阅读