Обзор · Шаг 3 из 4
Где встречается значение
Главный вопрос к чужой выгрузке — «а где здесь вот это?». Город «Тверь» мелькает в трёх местах, и надо знать, в каких именно. А спрашивают не один раз, а подряд, про десяток значений.
Что сделать
Постройте справочник, по которому сразу видно, где в выгрузке встречается значение.
Что приходит
ploskie— словарь «путь → значение»
Что вернуть
Словарь «значение строкой → список путей, где оно встретилось» в порядке обхода; число 12 и строка "12" — в одном списке.
Допишите функцию postroit_indeks в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
В проекте
Утилита зовёт postroit_indeks, когда в командной строке задано --naydi …, и печатает, где встретилось значение. Решите шаг — и на вопрос «где здесь Тверь?» ответит одна команда.
ploskie = {"zakazy.0.gorod": "Тверь", "zakazy.1.gorod": "Омск",
"smena.gorod": "Тверь"}
postroit_indeks(ploskie)
{'Тверь': ['zakazy.0.gorod', 'smena.gorod'], 'Омск': ['zakazy.1.gorod']}
Функция принимает словарь «путь → значение».
Возвращает справочник: «значение в виде строки → список путей, где оно встретилось», в порядке обхода. Значение приводится к строке функцией str: число 12 и строка «12» попадают в один список. Пустой словарь даёт пустой справочник.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.