Desafio: Busca Recursiva de Arquivos
Trabalhando com Dicionários Aninhados
Dicionários podem armazenar outros dicionários, o que é útil para representar dados hierárquicos como um sistema de arquivos.
- As chaves são nomes de arquivos ou pastas;
"file"indica que o item é um arquivo;- Um dicionário aninhado indica que o item é uma pasta.
Utilize items() para iterar sobre os pares chave–valor.
1234567file_system = { "home": {"resume.pdf": "file", "notes.txt": "file"}, "etc": {"config.yaml": "file"} } for name, content in file_system.items(): print(name, "->", content)
Utilize isinstance(content, dict) para verificar se um valor representa uma pasta:
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
Para verificar se um arquivo específico existe em um dicionário aninhado, implemente uma função recursiva file_exists:
- Percorra o dicionário com
items(). - Se
contentfor"file"enamecorresponder atarget, retorneTrue. - Se
contentfor uma pasta (isinstance(content, dict)), chamefile_existsrecursivamente. - Se a chamada recursiva retornar
True, propagueTrue. - Se nada corresponder após verificar todos os níveis, retorne
False.
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 4.17
Desafio: Busca Recursiva de Arquivos
Deslize para mostrar o menu
Trabalhando com Dicionários Aninhados
Dicionários podem armazenar outros dicionários, o que é útil para representar dados hierárquicos como um sistema de arquivos.
- As chaves são nomes de arquivos ou pastas;
"file"indica que o item é um arquivo;- Um dicionário aninhado indica que o item é uma pasta.
Utilize items() para iterar sobre os pares chave–valor.
1234567file_system = { "home": {"resume.pdf": "file", "notes.txt": "file"}, "etc": {"config.yaml": "file"} } for name, content in file_system.items(): print(name, "->", content)
Utilize isinstance(content, dict) para verificar se um valor representa uma pasta:
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
Para verificar se um arquivo específico existe em um dicionário aninhado, implemente uma função recursiva file_exists:
- Percorra o dicionário com
items(). - Se
contentfor"file"enamecorresponder atarget, retorneTrue. - Se
contentfor uma pasta (isinstance(content, dict)), chamefile_existsrecursivamente. - Se a chamada recursiva retornar
True, propagueTrue. - Se nada corresponder após verificar todos os níveis, retorne
False.
Solução
Obrigado pelo seu feedback!
single