Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Uitdaging: Recursieve Bestandszoekopdracht | Recursie en Lambda-Functies
Quizzes & Challenges
Quizzes
Challenges
/
Python Functies Tutorial

bookUitdaging: 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.

1234567
file_system = { "home": {"resume.pdf": "file", "notes.txt": "file"}, "etc": {"config.yaml": "file"} } for name, content in file_system.items(): print(name, "->", content)
copy

Gebruik isinstance(content, dict) om te controleren of een waarde een map voorstelt:

12345678910
file_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")
copy
Taak

Swipe to start coding

Om te controleren of een specifiek bestand bestaat in een geneste dictionary, implementeer een recursieve file_exists-functie:

  1. Itereer door de dictionary met items().
  2. Als content gelijk is aan "file" en name overeenkomt met target, retourneer True.
  3. Als content een map is (isinstance(content, dict)), roep dan recursief file_exists aan.
  4. Als de recursieve aanroep True retourneert, geef True door.
  5. Als er na het controleren van alle niveaus niets overeenkomt, retourneer False.

Oplossing

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 2
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 4.17

bookUitdaging: 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.

1234567
file_system = { "home": {"resume.pdf": "file", "notes.txt": "file"}, "etc": {"config.yaml": "file"} } for name, content in file_system.items(): print(name, "->", content)
copy

Gebruik isinstance(content, dict) om te controleren of een waarde een map voorstelt:

12345678910
file_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")
copy
Taak

Swipe to start coding

Om te controleren of een specifiek bestand bestaat in een geneste dictionary, implementeer een recursieve file_exists-functie:

  1. Itereer door de dictionary met items().
  2. Als content gelijk is aan "file" en name overeenkomt met target, retourneer True.
  3. Als content een map is (isinstance(content, dict)), roep dan recursief file_exists aan.
  4. Als de recursieve aanroep True retourneert, geef True door.
  5. Als er na het controleren van alle niveaus niets overeenkomt, retourneer False.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 2
single

single

some-alt