Проверка вложенного словаря с использованием точечной нотации «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»Мне нужно создатьвсе необходимые элементы в словаре, но не топайте их, если они уже существуют. Если кто-то знает способ сделать все это, вы 'буду моим героем