Maison >développement back-end >Tutoriel Python >Comment puis-je accéder de manière récursive aux valeurs d'un dictionnaire imbriqué et les imprimer ?
Accès récursif aux valeurs de dictionnaires imbriqués
Lorsque vous travaillez avec des dictionnaires imbriqués, il est souvent nécessaire de parcourir toutes les paires clé-valeur pour extraire des données spécifiques. Ce problème survient lorsque vous tentez de parcourir un dictionnaire et de récupérer toutes les valeurs de dictionnaire non imbriquées tout en accédant de manière récursive aux valeurs de dictionnaire imbriquées.
La première tentative d'utilisation de l'itération ne fonctionne que pour les deux premiers niveaux en raison de la portée limitée du boucle intérieure. La deuxième tentative ne parvient pas non plus à parcourir complètement le dictionnaire en raison de son implémentation statique.
Pour surmonter cette limitation, la récursivité est requise. En définissant une fonction pour imprimer les valeurs du dictionnaire, vous pouvez appeler la fonction de manière récursive sur n'importe quel dictionnaire imbriqué pour accéder à leurs valeurs.
Voici un exemple de solution récursive :
def myprint(d): for k, v in d.items(): if isinstance(v, dict): myprint(v) # Recurs if value is a dictionary else: print("{0} : {1}".format(k, v))
Cette solution commence par parcourir les paires clé-valeur du dictionnaire d’entrée. Pour chaque paire clé-valeur, il vérifie si la valeur est un dictionnaire. Si tel est le cas, il appelle récursivement la fonction myprint avec le dictionnaire imbriqué comme paramètre. Si la valeur n'est pas un dictionnaire, elle imprime simplement la paire clé-valeur.
En utilisant la récursivité, cette solution peut parcourir n'importe quel nombre de niveaux de dictionnaire imbriqués pour accéder et imprimer toutes les valeurs de dictionnaire non imbriquées.
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!