Home > Article > Backend Development > How to Update Nested Dictionaries of Variable Depth While Preserving Specific Values?
Updating Nested Dictionaries of Variable Depth
You encounter a dilemma when attempting to update a nested dictionary (dictionary1) with the contents of another dictionary (update) while preserving specific values in the nested structure. Specifically, you want to update the "level2" key in dictionary1 without overwriting the "levelA" value.
To address this challenge, a recursive solution is proposed. The following Python code implements this approach:
def merge_dicts(dict1, dict2): for key in dict2: if key in dict1 and isinstance(dict1[key], dict) and isinstance(dict2[key], dict): merge_dicts(dict1[key], dict2[key]) else: dict1[key] = dict2[key]
This function recursively traverses both dictionaries and updates values based on the following rules:
By utilizing this recursive approach, you can modify nested dictionaries of varying depth while preserving specific values.
The above is the detailed content of How to Update Nested Dictionaries of Variable Depth While Preserving Specific Values?. For more information, please follow other related articles on the PHP Chinese website!