@artinnok
бекенд-программист

Как достать данные из такого словаря?

Есть словарь:
data ={'a': {'b': {'c': 1}}}
Надо достать значение ключа 'c' с помощью такой конструкции data[key], при этом такой вариант не подходит data['a']['b']['c']. Как это сделать?
  • Вопрос задан
  • 338 просмотров
Решения вопроса 1
angru
@angru
Python 3. но это костыль конечно же.

from functools import reduce


class CustomDict(dict):
    def __getitem__(self, key):
        return reduce(lambda acc, x: acc.__getitem__(x), key.split('.'), super())


data = CustomDict({'a': {'b': {'c': 1}}})

print(data['a.b.c'])
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
AnnTHony
@AnnTHony
Интроверт
Смысл тот же, что и
data['a']['b']['c']

((data.get('a')).get('b')).get('c')
Ответ написан
Комментировать
@lyeskin
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы