Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
4
Извлечение значения из вложенного словаря или списка по точечному пути
Условие задачи
Реализуйте функцию get_by_path(obj: dict | list, path: str) -> Any, которая принимает:
- obj – произвольный вложенный словарь или список;
- path – строку, описывающую последовательность ключей/индексов, разделённых точкой.
Функция должна пройти по указанному пути и вернуть найденное значение. Если в любой момент путь оказывается недоступным (отсутствующий ключ, неверный тип данных, выход за границы списка и т.п.), следует вернуть None.
Пример использования:
obj = {
'a': {
'b': {
'c': 1
}
}
}
get_by_path(obj, 'a.b.c') # вернёт 1
get_by_path(obj, 'a.d.e') # вернёт None
Код функции-стартера:
from typing import Any
def get_by_path(obj: dict | list, path: str) -> Any:
...