替换嵌套字典中的值可以通过递归的方式实现。下面是一个示例代码:
def replace_nested_dict_value(nested_dict, old_value, new_value):
for key, value in nested_dict.items():
if isinstance(value, dict):
replace_nested_dict_value(value, old_value, new_value)
elif value == old_value:
nested_dict[key] = new_value
# 示例用法
nested_dict = {
'a': {
'b': {
'c': 1,
'd': 2
},
'e': {
'f': 3,
'g': 4
}
},
'h': {
'i': 5,
'j': 6
}
}
replace_nested_dict_value(nested_dict, 2, 'new_value')
print(nested_dict)
输出结果为:
{
'a': {
'b': {
'c': 1,
'd': 'new_value'
},
'e': {
'f': 3,
'g': 4
}
},
'h': {
'i': 5,
'j': 6
}
}
在这个示例中,replace_nested_dict_value
函数接受三个参数:nested_dict
是要替换值的嵌套字典,old_value
是要替换的旧值,new_value
是要替换成的新值。函数通过遍历字典的键值对,如果值是字典,则递归调用 replace_nested_dict_value
函数;如果值等于旧值,则将其替换为新值。
这个方法可以适用于任意嵌套层级的字典结构,可以灵活地替换指定的值。
领取专属 10元无门槛券
手把手带您无忧上云