python中的基本Dict操作

2024-09-30 00:41:03 发布

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

我有一个python词典

D = {
    'outermost': {
        'inner': {
            'key1': '', 
            'key2': '', 
            'key3': '', 
            'key4': '', 
            'key5': ''
        }
    }
}

一份清单

L = ['outermost', 'inner']

还有一根绳子

K = 'key1'

还有一个价值观

V = 'add a value'

如何获得这样的输出

D = {
    'outermost': {
        'inner': {
            'key1': 'add a value', 
            'key2': '', 
            'key3': '', 
            'key4': '', 
            'key5': ''
        }
    }
}

Tags: addvalue词典innerkey2key1价值观key3
2条回答

像这样:

# Will raise a KeyError if the path does not exist.
def set_dict_path(dct, path, key, value):
    for p in path:
        dct = dct[p]

    dct[key] = value

set_dict_path(D, L, K, V)

使用reduceoperator.getitem

from operator import getitem
reduce(getitem, L, D)[K] = V

输出:

>>> from pprint import pprint
>>> pprint(D)
{'outermost': {'inner': {'key1': 'add a value',
                         'key2': '',
                         'key3': '',
                         'key4': '',
                         'key5': ''}}}

相关问题 更多 >

    热门问题