我有一个嵌套字典,其中每个元素可以是任何类型,包括列表或字典。我正在寻找一种方法来使用特定值更新任何深度的任何键。(因此如果目标值不是列表或字典,则会发生替换)
例如
{
'a': 1,
'b': 2,
'c': [{'a': 2, 'b': 3}],
'd': [{'d_d': {'a': 1, 'b': 2}}],
'e': {'a': 4},
}
Run Code Online (Sandbox Code Playgroud)
会成为
{
'a': 'xx',
'b': 2,
'c': [{'a': 'xx', 'b': 3}],
'd': [{'d_d': {'a': 'xx', 'b': 2}}],
'e': {'a': 'xx'},
}
Run Code Online (Sandbox Code Playgroud)
其中该函数采用字典、键和新值,如下所示
update_nested(dict, key='a', value='xx')
Run Code Online (Sandbox Code Playgroud)