Fantastisk!
Completion rate forbedret til 4.17Sektion 5. Kapitel 2
single
Udfordring: Rekursiv Filsøgning
Stryg for at vise menuen
Arbejde med indlejrede ordbøger
Ordbøger kan indeholde andre ordbøger, hvilket er nyttigt til at repræsentere hierarkiske data som et filsystem.
- Nøgler er fil- eller mappenavne;
"file"betyder, at elementet er en fil;- En indlejret ordbog betyder, at elementet er en mappe.
Brug items() til at iterere gennem nøgle–værdi-par.
1234567file_system = { "home": {"resume.pdf": "file", "notes.txt": "file"}, "etc": {"config.yaml": "file"} } for name, content in file_system.items(): print(name, "->", content)
Brug isinstance(content, dict) til at kontrollere, om en værdi repræsenterer en mappe:
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")
Opgave
Swipe to start coding
For at kontrollere, om en bestemt fil eksisterer i et indlejret dictionary, implementeres en rekursiv file_exists-funktion:
- Gennemløb dictionaryen med
items(). - Hvis
contenter"file"ognamematchertarget, returnérTrue. - Hvis
contenter en mappe (isinstance(content, dict)), kaldfile_existsrekursivt. - Hvis det rekursive kald returnerer
True, videreførTrue. - Hvis intet matcher efter at have gennemgået alle niveauer, returnér
False.
Løsning
Var alt klart?
Tak for dine kommentarer!
Sektion 5. Kapitel 2
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat