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

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

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

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

    k = "a.b.c"

Мне нужно определить, если словарьимеет ключ «С»так что я могу добавить его, если это не такт.

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

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

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

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

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

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