Défi : Recherche de Fichiers Récursive
Travail avec des dictionnaires imbriqués
Les dictionnaires peuvent contenir d'autres dictionnaires, ce qui est utile pour représenter des données hiérarchiques comme un système de fichiers.
- Les clés sont des noms de fichiers ou de dossiers ;
"file"signifie que l'élément est un fichier ;- Un dictionnaire imbriqué signifie que l'élément est un dossier.
Utiliser items() pour itérer sur les paires clé–valeur.
1234567file_system = { "home": {"resume.pdf": "file", "notes.txt": "file"}, "etc": {"config.yaml": "file"} } for name, content in file_system.items(): print(name, "->", content)
Utiliser isinstance(content, dict) pour vérifier si une valeur représente un dossier :
12345678910file_system = { "home": {"resume.pdf": "file"}, "config.yaml": "file" } for name, content in file_system.items(): if isinstance(content, dict): print(name, "is a folder") else: print(name, "is a file")
Swipe to start coding
Pour vérifier si un fichier spécifique existe dans un dictionnaire imbriqué, implémentez une fonction récursive file_exists :
- Parcourez le dictionnaire avec
items(). - Si
contentest"file"et quenamecorrespond àtarget, retournezTrue. - Si
contentest un dossier (isinstance(content, dict)), appelez récursivementfile_exists. - Si l'appel récursif retourne
True, propagezTrue. - Si rien ne correspond après avoir vérifié tous les niveaux, retournez
False.
Solution
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 4.17
Défi : Recherche de Fichiers Récursive
Glissez pour afficher le menu
Travail avec des dictionnaires imbriqués
Les dictionnaires peuvent contenir d'autres dictionnaires, ce qui est utile pour représenter des données hiérarchiques comme un système de fichiers.
- Les clés sont des noms de fichiers ou de dossiers ;
"file"signifie que l'élément est un fichier ;- Un dictionnaire imbriqué signifie que l'élément est un dossier.
Utiliser items() pour itérer sur les paires clé–valeur.
1234567file_system = { "home": {"resume.pdf": "file", "notes.txt": "file"}, "etc": {"config.yaml": "file"} } for name, content in file_system.items(): print(name, "->", content)
Utiliser isinstance(content, dict) pour vérifier si une valeur représente un dossier :
12345678910file_system = { "home": {"resume.pdf": "file"}, "config.yaml": "file" } for name, content in file_system.items(): if isinstance(content, dict): print(name, "is a folder") else: print(name, "is a file")
Swipe to start coding
Pour vérifier si un fichier spécifique existe dans un dictionnaire imbriqué, implémentez une fonction récursive file_exists :
- Parcourez le dictionnaire avec
items(). - Si
contentest"file"et quenamecorrespond àtarget, retournezTrue. - Si
contentest un dossier (isinstance(content, dict)), appelez récursivementfile_exists. - Si l'appel récursif retourne
True, propagezTrue. - Si rien ne correspond après avoir vérifié tous les niveaux, retournez
False.
Solution
Merci pour vos commentaires !
single