Проверка вложенного словаря с использованием точечной нотации «a.b.c.d.e» автоматически создает недостающие уровни

Этот дует мне в голову. Дан следующий словарь:

    d = {"a":{"b":{"c":"winning!"}}}

У меня есть эта строка (из внешнего источника, и я не могу изменить эту метафору).

    k = "a.b.c"

Мне нужно определить, если словарьhas the key 'c', так что я могу добавить его, если это не так.

Это работает плавно для получения значения точечной нотации:

    reduce(dict.get, key.split("."), d)

но я не могу понять, как "уменьшить" проверка has_key или что-то в этом роде.

Моя конечная проблема заключается в следующем: учитывая "a.b.c.d.e", мне нужно создатьall the elements necessary в словаре, но не топайте их, если они уже существуют. Если кто-то знает способ сделать это, то вы будете моим героем.

Ответы на вопрос(4)

Ваш ответ на вопрос