Utfordring: Rekursivt Filsøk
Arbeide med nestede ordbøker
Ordbøker kan lagre andre ordbøker, noe som er nyttig for å representere hierarkiske data som et filsystem.
- Nøkler er fil- eller mappenavn;
"file"betyr at elementet er en fil;- En nestet ordbok betyr at elementet er en mappe.
Bruk items() for å iterere gjennom nøkkel–verdi-par.
1234567file_system = { "home": {"resume.pdf": "file", "notes.txt": "file"}, "etc": {"config.yaml": "file"} } for name, content in file_system.items(): print(name, "->", content)
Bruk isinstance(content, dict) for å sjekke om en verdi representerer 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")
Swipe to start coding
For å sjekke om en spesifikk fil eksisterer i et nøstet ordbok, implementer en rekursiv file_exists-funksjon:
- Gå gjennom ordboken med
items(). - Hvis
contenter"file"ognamesamsvarer medtarget, returnerTrue. - Hvis
contenter en mappe (isinstance(content, dict)), kallfile_existsrekursivt. - Hvis det rekursive kallet returnerer
True, videreførTrue. - Hvis ingenting samsvarer etter å ha sjekket alle nivåer, returner
False.
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
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
Utfordring: Rekursivt Filsøk
Sveip for å vise menyen
Arbeide med nestede ordbøker
Ordbøker kan lagre andre ordbøker, noe som er nyttig for å representere hierarkiske data som et filsystem.
- Nøkler er fil- eller mappenavn;
"file"betyr at elementet er en fil;- En nestet ordbok betyr at elementet er en mappe.
Bruk items() for å iterere gjennom nøkkel–verdi-par.
1234567file_system = { "home": {"resume.pdf": "file", "notes.txt": "file"}, "etc": {"config.yaml": "file"} } for name, content in file_system.items(): print(name, "->", content)
Bruk isinstance(content, dict) for å sjekke om en verdi representerer 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")
Swipe to start coding
For å sjekke om en spesifikk fil eksisterer i et nøstet ordbok, implementer en rekursiv file_exists-funksjon:
- Gå gjennom ordboken med
items(). - Hvis
contenter"file"ognamesamsvarer medtarget, returnerTrue. - Hvis
contenter en mappe (isinstance(content, dict)), kallfile_existsrekursivt. - Hvis det rekursive kallet returnerer
True, videreførTrue. - Hvis ingenting samsvarer etter å ha sjekket alle nivåer, returner
False.
Løsning
Takk for tilbakemeldingene dine!
single