Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Sfida: Ricerca Ricorsiva di File | Ricorsione e Funzioni Lambda
Tutorial Sulle Funzioni in Python

bookSfida: Ricerca Ricorsiva di File

Lavorare con dizionari annidati

I dizionari possono contenere altri dizionari, il che è utile per rappresentare dati gerarchici come un file system.

  • Le chiavi sono nomi di file o cartelle;
  • "file" indica che l'elemento è un file;
  • Un dizionario annidato indica che l'elemento è una cartella.

Utilizzare items() per iterare sulle coppie chiave–valore.

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

Utilizzare isinstance(content, dict) per verificare se un valore rappresenta una cartella:

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
Compito

Swipe to start coding

Per verificare se un determinato file esiste in un dizionario annidato, implementare una funzione ricorsiva file_exists:

  1. Scorrere il dizionario con items().
  2. Se content è "file" e name corrisponde a target, restituire True.
  3. Se content è una cartella (isinstance(content, dict)), chiamare ricorsivamente file_exists.
  4. Se la chiamata ricorsiva restituisce True, propagare True.
  5. Se nessuna corrispondenza viene trovata dopo aver controllato tutti i livelli, restituire False.

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 2
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

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

bookSfida: Ricerca Ricorsiva di File

Scorri per mostrare il menu

Lavorare con dizionari annidati

I dizionari possono contenere altri dizionari, il che è utile per rappresentare dati gerarchici come un file system.

  • Le chiavi sono nomi di file o cartelle;
  • "file" indica che l'elemento è un file;
  • Un dizionario annidato indica che l'elemento è una cartella.

Utilizzare items() per iterare sulle coppie chiave–valore.

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

Utilizzare isinstance(content, dict) per verificare se un valore rappresenta una cartella:

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
Compito

Swipe to start coding

Per verificare se un determinato file esiste in un dizionario annidato, implementare una funzione ricorsiva file_exists:

  1. Scorrere il dizionario con items().
  2. Se content è "file" e name corrisponde a target, restituire True.
  3. Se content è una cartella (isinstance(content, dict)), chiamare ricorsivamente file_exists.
  4. Se la chiamata ricorsiva restituisce True, propagare True.
  5. Se nessuna corrispondenza viene trovata dopo aver controllato tutti i livelli, restituire False.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 2
single

single

some-alt