python中的基本Dict操作

Waz*_*azy 2 python dictionary

我有一个python dict,

D = {
    'outermost': {
        'inner': {
            'key1': '', 
            'key2': '', 
            'key3': '', 
            'key4': '', 
            'key5': ''
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

一个列表,

L = ['outermost', 'inner']
Run Code Online (Sandbox Code Playgroud)

和一个字符串,

K = 'key1'
Run Code Online (Sandbox Code Playgroud)

和一个价值,

V = 'add a value'
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到一个输出这样

D = {
    'outermost': {
        'inner': {
            'key1': 'add a value', 
            'key2': '', 
            'key3': '', 
            'key4': '', 
            'key5': ''
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Ash*_*ary 5

使用reduceoperator.getitem:

from operator import getitem
reduce(getitem, L, D)[K] = V
Run Code Online (Sandbox Code Playgroud)

输出:

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

  • 亲爱的先生,这就像它的pythonic一样. (3认同)
  • 所以"pythonic",Guido删除了`reduce`作为内置非常pythonic.:P (2认同)