Рекурсия · 17 из 19
Опись вложенного
Часть архива оцифрована и пришла вложенными разделами: в разделе подразделы, в них ещё подразделы, и только на самом дне — бумаги с годами. Дяде Мише нужна плоская опись: полный адрес каждой бумаги и что в ней.
Что сделать
Составьте плоскую опись оцифрованного архива — полный адрес каждой бумаги и что в ней.
Что приходит
razdely— словарь: значения — такие же словари-разделы или что угодно другоеnachalo— служебный: путь до текущего раздела; при вызове не передаётся
Что вернуть
Словарь «путь через точку → значение» в порядке обхода: {"pisma.1914": "письмо с фронта", …, "god": 1975}; пустой раздел путей не даёт.
Допишите функцию opis в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
arhiv = {"pisma": {"1914": "письмо с фронта", "1920": "открытка"},
"metriki": {"cerkov": {"1888": "запись о рождении"}},
"god": 1975}
opis(arhiv)
{'pisma.1914': 'письмо с фронта', 'pisma.1920': 'открытка', 'metriki.cerkov.1888': 'запись о рождении', 'god': 1975}
Функция принимает словарь, в котором значения — либо такие же словари, либо что угодно другое (числа, строки, списки). Возвращает словарь: полный путь до каждого невложенного значения — ключи через точку — и само значение. Порядок путей — порядок обхода: ключи каждого словаря по очереди, и у каждого вложенного сначала всё его содержимое. Пустой словарь внутри не даёт ни одного пути. Пустой словарь на входе даёт пустой словарь.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.