Проверять дерево ключей в словаре

Есть словарь

dict1 =   {
        "value": {
            "test": {
                "name":{
                    "age":"30"
                }
            }
        }
    }

Нужно забирать элемент словаря, при этом какого то ключа может не быть, в этом случае заменять на дефолтное. Все это нужно делать в одну строку!

dict1 =   {
            "value": {
                "test": None
            }
        }

Сделал такой вариант, но не првильно, есть еще варианты?

dict1.get("value").get("test").get("name").get("age") or "null"

Ответы (2 шт):

Автор решения: Алексей Р
dict1 = {
    "value": {
        "test": None
    }
}

print(((((dict1.get("value") or {}).get("test") or {}).get("name") or {}).get("age") or {}) or 'null')
null
→ Ссылка
Автор решения: Виктор

Вариант1:

s = dict1.get("value",{}).get("test",{}).get("name",{}).get("age",{})
print(s)

Вариант с изголениями:)

getv = lambda d, val:  d.get(val,{})
s = getv(getv(getv(getv(dict1,"value"), "test"), "name"),"age")
print(s)
→ Ссылка