Haaste: Rekursiivinen Tiedostohaku
Työskentely sisäkkäisten sanakirjojen kanssa
Sanakirjat voivat sisältää muita sanakirjoja, mikä on hyödyllistä hierarkkisen datan, kuten tiedostojärjestelmän, esittämiseen.
- Avaimet ovat tiedosto- tai kansioiden nimiä;
"file"tarkoittaa, että kohde on tiedosto;- Sisäkkäinen sanakirja tarkoittaa, että kohde on kansio.
Käytä items()-metodia avain–arvo-parien läpikäymiseen.
1234567file_system = { "home": {"resume.pdf": "file", "notes.txt": "file"}, "etc": {"config.yaml": "file"} } for name, content in file_system.items(): print(name, "->", content)
Käytä isinstance(content, dict) tarkistaaksesi, edustaako arvo kansiota:
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
Tarkistaaksesi, onko tietty tiedosto olemassa sisäkkäisessä sanakirjassa, toteuta rekursiivinen file_exists-funktio:
- Käy sanakirja läpi
items()-metodilla. - Jos
contenton"file"janamevastaatarget-arvoa, palautaTrue. - Jos
contenton kansio (isinstance(content, dict)), kutsufile_exists-funktiota rekursiivisesti. - Jos rekursiivinen kutsu palauttaa
True, välitäTrueeteenpäin. - Jos mikään ei täsmää kaikkien tasojen tarkistamisen jälkeen, palauta
False.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 4.17
Haaste: Rekursiivinen Tiedostohaku
Pyyhkäise näyttääksesi valikon
Työskentely sisäkkäisten sanakirjojen kanssa
Sanakirjat voivat sisältää muita sanakirjoja, mikä on hyödyllistä hierarkkisen datan, kuten tiedostojärjestelmän, esittämiseen.
- Avaimet ovat tiedosto- tai kansioiden nimiä;
"file"tarkoittaa, että kohde on tiedosto;- Sisäkkäinen sanakirja tarkoittaa, että kohde on kansio.
Käytä items()-metodia avain–arvo-parien läpikäymiseen.
1234567file_system = { "home": {"resume.pdf": "file", "notes.txt": "file"}, "etc": {"config.yaml": "file"} } for name, content in file_system.items(): print(name, "->", content)
Käytä isinstance(content, dict) tarkistaaksesi, edustaako arvo kansiota:
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
Tarkistaaksesi, onko tietty tiedosto olemassa sisäkkäisessä sanakirjassa, toteuta rekursiivinen file_exists-funktio:
- Käy sanakirja läpi
items()-metodilla. - Jos
contenton"file"janamevastaatarget-arvoa, palautaTrue. - Jos
contenton kansio (isinstance(content, dict)), kutsufile_exists-funktiota rekursiivisesti. - Jos rekursiivinen kutsu palauttaa
True, välitäTrueeteenpäin. - Jos mikään ei täsmää kaikkien tasojen tarkistamisen jälkeen, palauta
False.
Ratkaisu
Kiitos palautteestasi!
single