Fantastiskt!
Completion betyg förbättrat till 4.17Avsnitt 5. Kapitel 2
single
Utmaning: Rekursiv Filsökning
Svep för att visa menyn
Arbeta med nästlade ordböcker
Ordböcker kan lagra andra ordböcker, vilket är användbart för att representera hierarkisk data såsom ett filsystem.
- Nycklar är fil- eller mappnamn;
"file"betyder att objektet är en fil;- En nästlad ordbok betyder att objektet är en mapp.
Använd items() för att iterera genom nyckel–värde-par.
1234567file_system = { "home": {"resume.pdf": "file", "notes.txt": "file"}, "etc": {"config.yaml": "file"} } for name, content in file_system.items(): print(name, "->", content)
Använd isinstance(content, dict) för att kontrollera om ett värde representerar en mapp:
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")
Uppgift
Swipe to start coding
För att kontrollera om en specifik fil finns i en nästlad ordbok, implementera en rekursiv file_exists-funktion:
- Iterera genom ordboken med
items(). - Om
contentär"file"ochnamematchartarget, returneraTrue. - Om
contentär en mapp (isinstance(content, dict)), anropafile_existsrekursivt. - Om det rekursiva anropet returnerar
True, vidarebefordraTrue. - Om inget matchar efter att alla nivåer har kontrollerats, returnera
False.
Lösning
Var allt tydligt?
Tack för dina kommentarer!
Avsnitt 5. Kapitel 2
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal