Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Desafío: Búsqueda Recursiva de Archivos | Recursión y Funciones Lambda
Tutorial de Funciones en Python

bookDesafío: Búsqueda Recursiva de Archivos

Trabajo con diccionarios anidados

Los diccionarios pueden almacenar otros diccionarios, lo cual es útil para representar datos jerárquicos como un sistema de archivos.

  • Las claves son nombres de archivos o carpetas;
  • "file" significa que el elemento es un archivo;
  • Un diccionario anidado significa que el elemento es una carpeta.

Utiliza items() para iterar a través de los pares clave–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

Utiliza isinstance(content, dict) para comprobar si un valor representa una carpeta:

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
Tarea

Swipe to start coding

Para verificar si un archivo específico existe en un diccionario anidado, implementar una función recursiva file_exists:

  1. Recorrer el diccionario utilizando items().
  2. Si content es "file" y name coincide con target, devolver True.
  3. Si content es una carpeta (isinstance(content, dict)), llamar recursivamente a file_exists.
  4. Si la llamada recursiva devuelve True, propagar True.
  5. Si no se encuentra coincidencia tras revisar todos los niveles, devolver False.

Solución

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 2
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

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

bookDesafío: Búsqueda Recursiva de Archivos

Desliza para mostrar el menú

Trabajo con diccionarios anidados

Los diccionarios pueden almacenar otros diccionarios, lo cual es útil para representar datos jerárquicos como un sistema de archivos.

  • Las claves son nombres de archivos o carpetas;
  • "file" significa que el elemento es un archivo;
  • Un diccionario anidado significa que el elemento es una carpeta.

Utiliza items() para iterar a través de los pares clave–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

Utiliza isinstance(content, dict) para comprobar si un valor representa una carpeta:

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
Tarea

Swipe to start coding

Para verificar si un archivo específico existe en un diccionario anidado, implementar una función recursiva file_exists:

  1. Recorrer el diccionario utilizando items().
  2. Si content es "file" y name coincide con target, devolver True.
  3. Si content es una carpeta (isinstance(content, dict)), llamar recursivamente a file_exists.
  4. Si la llamada recursiva devuelve True, propagar True.
  5. Si no se encuentra coincidencia tras revisar todos los niveles, devolver False.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 2
single

single

some-alt