Используя этот ответ, я создал defaultdict
defaultdict
s. Теперь я хотел бы превратить этот глубоко вложенный объект dict в обычный питон-питон.
from collections import defaultdict
factory = lambda: defaultdict(factory)
defdict = factory()
defdict['one']['two']['three']['four'] = 5
# defaultdict(<function <lambda> at 0x10886f0c8>, {
# 'one': defaultdict(<function <lambda> at 0x10886f0c8>, {
# 'two': defaultdict(<function <lambda> at 0x10886f0c8>, {
# 'three': defaultdict(<function <lambda> at 0x10886f0c8>, {
# 'four': 5})})})})
Я предполагаю, что это неправильное решение:
import json
regdict = json.loads(json.dumps(defdict))
# {u'one': {u'two': {u'three': {u'four': 5}}}}
Кроме того, этот ответ неадекватен, поскольку он не рекурсирует по вложенному dict (s).