Großartig!
Completion Rate verbessert auf 4.17Abschnitt 5. Kapitel 2
single
Herausforderung: Rekursive Dateisuche
Swipe um das Menü anzuzeigen
Arbeiten mit verschachtelten Dictionaries
Dictionaries können andere Dictionaries speichern, was nützlich ist, um hierarchische Daten wie ein Dateisystem darzustellen.
- Schlüssel sind Datei- oder Ordnernamen;
"file"bedeutet, dass das Element eine Datei ist;- Ein verschachteltes Dictionary bedeutet, dass das Element ein Ordner ist.
Verwendung von items(), um Schlüssel-Wert-Paare zu durchlaufen.
1234567file_system = { "home": {"resume.pdf": "file", "notes.txt": "file"}, "etc": {"config.yaml": "file"} } for name, content in file_system.items(): print(name, "->", content)
Verwendung von isinstance(content, dict), um zu prüfen, ob ein Wert einen Ordner darstellt:
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")
Aufgabe
Swipe to start coding
Um zu überprüfen, ob eine bestimmte Datei existiert in einem verschachtelten Dictionary, implementieren Sie eine rekursive Funktion file_exists:
- Durchlaufen Sie das Dictionary mit
items(). - Wenn
contentgleich"file"ist undnamemittargetübereinstimmt, geben SieTruezurück. - Wenn
contentein Ordner ist (isinstance(content, dict)), rufen Siefile_existsrekursiv auf. - Gibt der rekursive Aufruf
Truezurück, propagieren SieTrue. - Wenn nach Überprüfung aller Ebenen keine Übereinstimmung gefunden wurde, geben Sie
Falsezurück.
Lösung
War alles klar?
Danke für Ihr Feedback!
Abschnitt 5. Kapitel 2
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen