Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Utmaning: Rekursiv Filsökning | Rekursion och Lambda-Funktioner
Handledning om Pythonfunktioner

bookUtmaning: Rekursiv Filsökning

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.

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

Använd isinstance(content, dict) för att kontrollera om ett värde representerar en mapp:

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

  1. Iterera genom ordboken med items().
  2. Om content är "file" och name matchar target, returnera True.
  3. Om content är en mapp (isinstance(content, dict)), anropa file_exists rekursivt.
  4. Om det rekursiva anropet returnerar True, vidarebefordra True.
  5. Om inget matchar efter att alla nivåer har kontrollerats, returnera False.

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 2
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

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

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

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

Använd isinstance(content, dict) för att kontrollera om ett värde representerar en mapp:

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

  1. Iterera genom ordboken med items().
  2. Om content är "file" och name matchar target, returnera True.
  3. Om content är en mapp (isinstance(content, dict)), anropa file_exists rekursivt.
  4. Om det rekursiva anropet returnerar True, vidarebefordra True.
  5. Om inget matchar efter att alla nivåer har kontrollerats, returnera False.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 2
single

single

some-alt