Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Utfordring: Rekursivt Filsøk | Rekursjon og Lambda-funksjoner
Python Funksjoner Veiledning

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

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

Bruk isinstance(content, dict) for å sjekke om en verdi representerer en mappe:

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
Oppgave

Swipe to start coding

For å sjekke om en spesifikk fil eksisterer i et nøstet ordbok, implementer en rekursiv file_exists-funksjon:

  1. Gå gjennom ordboken med items().
  2. Hvis content er "file" og name samsvarer med target, returner True.
  3. Hvis content er en mappe (isinstance(content, dict)), kall file_exists rekursivt.
  4. Hvis det rekursive kallet returnerer True, viderefør True.
  5. Hvis ingenting samsvarer etter å ha sjekket alle nivåer, returner False.

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 2
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

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

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

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

Bruk isinstance(content, dict) for å sjekke om en verdi representerer en mappe:

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
Oppgave

Swipe to start coding

For å sjekke om en spesifikk fil eksisterer i et nøstet ordbok, implementer en rekursiv file_exists-funksjon:

  1. Gå gjennom ordboken med items().
  2. Hvis content er "file" og name samsvarer med target, returner True.
  3. Hvis content er en mappe (isinstance(content, dict)), kall file_exists rekursivt.
  4. Hvis det rekursive kallet returnerer True, viderefør True.
  5. Hvis ingenting samsvarer etter å ha sjekket alle nivåer, returner False.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 2
single

single

some-alt