python - 嵌套字典作为参数

标签 python dictionary key

具有以下示例字典:

dict = {
    'key1': {
        'nested_key1': {
            'more_nested_key1': 'a_value'
        }
    },
    'key2': {
        'a_key': 'some_value'
    }
}

我需要一个函数,它接受字典和任意数量的嵌套键并对值执行操作。例如:

def replace(dict, '['key1']['nested_key1']['more_nested_key1']', 'new_value')

会将“a_value”替换为“new_value”。我是 python 新手,知道如何实现吗?

最佳答案

您可以将键列表传递给函数,遍历除最后一个键之外的所有键,直到到达最里面的字典,然后分配给最后一个键:

def replace(dict, keys, value):
    d = dict
    for key in keys[:-1]:
        d = d[key]
    d[keys[-1]] = value

关于python - 嵌套字典作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53169339/

相关文章:

python - 滚动不适用于 PySimpleGUI 中的下拉选择

python - Spark 读取 python3 pickle 作为输入

python - 如何从字典中获取排名列表?

Python:将数据存储到两个列表中,然后转换为字典

objective-c - NSDictionary 中的 NSDictionary

python - “模块”没有属性 'Treestyle'

python - “模块”对象没有属性 '_strptime',有多个线程 Python

Python:如何遍历一个列表[Dict{List[Dict{}]}]

java - 从 Map<Key, List<Values>> 交换键

python - Numpy:按键函数排序