Uitdaging: Recursieve Bestandszoekopdracht
Werken met geneste woordenboeken
Woordenboeken kunnen andere woordenboeken opslaan, wat handig is voor het weergeven van hiërarchische gegevens zoals een bestandssysteem.
- Sleutels zijn bestands- of mapnamen;
"file"betekent dat het item een bestand is;- Een genest woordenboek betekent dat het item een map is.
Gebruik items() om door sleutel–waardeparen te itereren.
1234567file_system = { "home": {"resume.pdf": "file", "notes.txt": "file"}, "etc": {"config.yaml": "file"} } for name, content in file_system.items(): print(name, "->", content)
Gebruik isinstance(content, dict) om te controleren of een waarde een map voorstelt:
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
Om te controleren of een specifiek bestand bestaat in een geneste dictionary, implementeer een recursieve file_exists-functie:
- Itereer door de dictionary met
items(). - Als
contentgelijk is aan"file"ennameovereenkomt mettarget, retourneerTrue. - Als
contenteen map is (isinstance(content, dict)), roep dan recursieffile_existsaan. - Als de recursieve aanroep
Trueretourneert, geefTruedoor. - Als er na het controleren van alle niveaus niets overeenkomt, retourneer
False.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Can you explain how to add a new file or folder to this nested dictionary?
How can I recursively print all files and folders in this structure?
What does the output of these code samples look like?
Awesome!
Completion rate improved to 4.17
Uitdaging: Recursieve Bestandszoekopdracht
Veeg om het menu te tonen
Werken met geneste woordenboeken
Woordenboeken kunnen andere woordenboeken opslaan, wat handig is voor het weergeven van hiërarchische gegevens zoals een bestandssysteem.
- Sleutels zijn bestands- of mapnamen;
"file"betekent dat het item een bestand is;- Een genest woordenboek betekent dat het item een map is.
Gebruik items() om door sleutel–waardeparen te itereren.
1234567file_system = { "home": {"resume.pdf": "file", "notes.txt": "file"}, "etc": {"config.yaml": "file"} } for name, content in file_system.items(): print(name, "->", content)
Gebruik isinstance(content, dict) om te controleren of een waarde een map voorstelt:
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
Om te controleren of een specifiek bestand bestaat in een geneste dictionary, implementeer een recursieve file_exists-functie:
- Itereer door de dictionary met
items(). - Als
contentgelijk is aan"file"ennameovereenkomt mettarget, retourneerTrue. - Als
contenteen map is (isinstance(content, dict)), roep dan recursieffile_existsaan. - Als de recursieve aanroep
Trueretourneert, geefTruedoor. - Als er na het controleren van alle niveaus niets overeenkomt, retourneer
False.
Oplossing
Bedankt voor je feedback!
single