Многоуровневый defaultdict с переменной глубиной?

У меня есть большой список, например:

[A][B1][C1]=1
[A][B1][C2]=2
[A][B2]=3
[D][E][F][G]=4

Я хочу создать многоуровневый диктат, например:

A
--B1
-----C1=1
-----C2=1
--B2=3
D
--E
----F
------G=4

Я знаю, что если я использовать рекурсивный defaultdict. Я могу написать таблицу [A] [B1] [C1] = 1 , таблицу [A] [B2] = 2 , но это работает, только если я жестко закодирую эти вставки заявление.

При анализе списка я не знаю, сколько [] мне нужно заранее, чтобы вызвать table [key1] [key2] [...] .

62
задан Aaron Hall 12 July 2017 в 20:49
поделиться