'hair')
kidshair[mypath]
Есть способ сделать что-то подобное в python3.x ?
Сделать что?
Получить элемент из dict, указав путь без использования нескольких []
До элемента
Это ты имеешь в вижу? [v for k,v in dict_ if k in ['allkids', 'child3', 'hair']]
В словарях не бывает путей. Есть ключ и значение. Я подозреваю, что ты хочешь вложенные словари одним движением получать, но формулируешь это странно.
Нативных способов вроде нет, но можно себе хелпер написать, который по списку ключей будет вложенные элементы доставать.
Есть проектик с похожим сахаром. Но сильно не увлекайся. https://pypi.org/project/python-benedict/
А в чём смысл? Написать кучу кода. что бы сэкономить несколько квадратных скобок?
Если таких случаев в коде много, то почему нет
Возможность получать элементы разной глубины вложенности
kidshair['allkids'] ['child3'] ['hair'] Вот тебе возможность
Напиши функцию с простейшим циклом внутри, там делать нечего
Я del использую, а там нужно не просто значение
Ну если прям чешеться, то простейший способ так def get_nested_val(d, keys): for key in keys: d = d.get(key, {}) return d get_nested_val({"a": {"b": {"c": "d"}}}, ["a", "b", "c"])
Обсуждают сегодня