使用“路径”访问不同级别的嵌套词典

2024-05-23 01:40:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我想定义一个小包装函数,它采用某种“路径”来访问不同级别的嵌套字典:

D = {'key1': valueA,
     'key2': {'key21': valueB,
             {'key22': valueC}

在这个简单的例子中,我想写一个函数,作为参数,它接受一个元组,比如

dict_path = ('key2', 'key22')

>>>nested_getter(dict_path)
valueC

Tags: path函数路径字典定义级别dict小包装
2条回答
def nested_getter(d, keys):
    return reduce(dict.get, keys, d)
D = {'key1': valueA,
     'key2': {'key21': valueB,
              'key22': valueC}}


def nested_getter(root, path):
    for elem in path:
        root = root[elem]
    return root

有了它,您可以:

>>> nested_getter(D, ('key2', 'key22'))
3

相关问题 更多 >

    热门问题