Maison >développement back-end >Tutoriel Python >Comment puis-je imprimer de manière récursive des paires clé-valeur à partir d'un dictionnaire imbriqué en Python ?
Parcours des dictionnaires imbriqués
Dans ce problème, vous disposez d'un dictionnaire imbriqué et souhaitez imprimer toutes les paires clé-valeur où la valeur n'est pas un dictionnaire. De plus, vous devez parcourir tous les dictionnaires imbriqués et imprimer leurs paires clé-valeur de manière récursive.
Vous pouvez tenter une solution avec plusieurs boucles imbriquées, mais cette approche ne sera pas évolutive à mesure que vous rencontrerez plus de niveaux d'imbrication. La clé est d'utiliser la récursion.
Solution récursive
Dans la fonction :
Voici un implémentation :
def myprint(d): for k, v in d.items(): if isinstance(v, dict): myprint(v) else: print("{} : {}".format(k, v))
Utilisation
Pour utiliser cette solution récursive, passez simplement votre dictionnaire imbriqué à la fonction myprint. Par exemple :
d = { 'xml': { 'config': { 'portstatus': {'status': 'good'}, 'target': '1' }, 'port': '11' } } myprint(d)
Sortie
xml : {'config': {'portstatus': {'status': 'good'}, 'target': '1'}, 'port': '11'} config : {'portstatus': {'status': 'good'}, 'target': '1'} portstatus : {'status': 'good'} status : good target : 1 port : 11
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!