Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Desafio: Busca Recursiva de Arquivos | Recursão e Funções Lambda
Tutorial de Funções em Python

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

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

Utilize isinstance(content, dict) para verificar se um valor representa uma pasta:

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
Tarefa

Swipe to start coding

Para verificar se um arquivo específico existe em um dicionário aninhado, implemente uma função recursiva file_exists:

  1. Percorra o dicionário com items().
  2. Se content for "file" e name corresponder a target, retorne True.
  3. Se content for uma pasta (isinstance(content, dict)), chame file_exists recursivamente.
  4. Se a chamada recursiva retornar True, propague True.
  5. Se nada corresponder após verificar todos os níveis, retorne False.

Solução

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 2
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

close

Awesome!

Completion rate improved to 4.17

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

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

Utilize isinstance(content, dict) para verificar se um valor representa uma pasta:

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
Tarefa

Swipe to start coding

Para verificar se um arquivo específico existe em um dicionário aninhado, implemente uma função recursiva file_exists:

  1. Percorra o dicionário com items().
  2. Se content for "file" e name corresponder a target, retorne True.
  3. Se content for uma pasta (isinstance(content, dict)), chame file_exists recursivamente.
  4. Se a chamada recursiva retornar True, propague True.
  5. Se nada corresponder após verificar todos os níveis, retorne False.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 2
single

single

some-alt