Maison > Article > développement back-end > Comment mettre à jour des dictionnaires imbriqués de profondeur variable tout en préservant des valeurs spécifiques ?
Mise à jour des dictionnaires imbriqués de profondeur variable
Vous rencontrez un dilemme lorsque vous tentez de mettre à jour un dictionnaire imbriqué (dictionnaire1) avec le contenu d'un autre dictionnaire (mise à jour) tout en préservant les valeurs spécifiques dans la structure imbriquée. Plus précisément, vous souhaitez mettre à jour la clé « level2 » dans le dictionnaire1 sans écraser la valeur « levelA ».
Pour relever ce défi, une solution récursive est proposée. Le code Python suivant implémente cette approche :
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]
Cette fonction parcourt récursivement les deux dictionnaires et met à jour les valeurs en fonction des règles suivantes :
En utilisant cette approche récursive, vous pouvez modifier les dictionnaires imbriqués. dictionnaires de profondeur variable tout en préservant des valeurs spécifiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!