LINUX.ORG.RU

[python27]Вложенные словари


0

1

Возникла следующая ситуация. Есть некоторая структура данных, которая представляет из себя вложенные словари и нужно вытащить данные с опр. уровня вложенности, причём сначала нужно проверить, что данные есть. Вот пример кода «в лоб»:

if key1 in D:
    if key2 in D[key1]:
        foo(D[key1][key2])

Но писать такие портянки мне лень, да и муторно (уровни вложенности разные могут быть), поэтому слепил такой велосипед:

def accept_keys(D, *keys):
    for key in keys:
        if key in D:
            D = D[key]
        else:
            return {}
    return D

Вопрос, есть ли что-либо из стандартных средств питона для этого?

★★★★★

Ответ на: комментарий от zJes

Так и знал, что где-то я туплю :)

Norgat ★★★★★
() автор топика
Ответ на: комментарий от AIv

Во, спасибо. То, что доктор прописал :) Видимо надо перечитать Бизли, а то половина из головы вылетела.

Norgat ★★★★★
() автор топика
Ответ на: комментарий от Norgat

Да хотя бы Гвидо нашего ван Россума;-)

AIv ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.