Завдання: Рекурсивний Пошук Файлів
Робота з вкладеними словниками
Словники можуть зберігати інші словники, що корисно для представлення ієрархічних даних, таких як файлова система.
- Ключі — це імена файлів або папок;
"file"означає, що елемент є файлом;- Вкладений словник означає, що елемент є папкою.
Використовуйте items() для ітерації по парах ключ–значення.
1234567file_system = { 'home': {'resume.pdf': 'file', 'notes.txt': 'file'}, 'etc': {'config.yaml': 'file'} } for name, content in file_system.items(): print(name, '->', content)
Використовуйте isinstance(content, dict), щоб перевірити, чи значення є папкою:
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')
Дякуємо за ваш відгук!
single
Завдання: Рекурсивний Пошук Файлів
Свайпніть щоб показати меню
Робота з вкладеними словниками
Словники можуть зберігати інші словники, що корисно для представлення ієрархічних даних, таких як файлова система.
- Ключі — це імена файлів або папок;
"file"означає, що елемент є файлом;- Вкладений словник означає, що елемент є папкою.
Використовуйте items() для ітерації по парах ключ–значення.
1234567file_system = { 'home': {'resume.pdf': 'file', 'notes.txt': 'file'}, 'etc': {'config.yaml': 'file'} } for name, content in file_system.items(): print(name, '->', content)
Використовуйте isinstance(content, dict), щоб перевірити, чи значення є папкою:
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')
Проведіть, щоб почати кодувати
Щоб перевірити, чи існує певний файл у вкладеному словнику, реалізуйте рекурсивну функцію file_exists:
- Перебирайте словник за допомогою
items(). - Якщо
contentдорівнює'file'іnameзбігається зtarget, повернітьTrue. - Якщо
contentє папкою (isinstance(content, dict)), викликайтеfile_existsрекурсивно. - Якщо рекурсивний виклик повертає
True, також повернітьTrue. - Якщо після перевірки всіх рівнів нічого не знайдено, поверніть
False.
Рішення
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат