У меня есть большой список вроде:
[A][B1][C1]=1
[A][B1][C2]=2
[A][B2]=3
[D][E][F][G]=4
Я хочу построить многоуровневый dict, например:
A
--B1
-----C1=1
-----C2=1
--B2=3
D
--E
----F
------G=4
Я знаю, что если я использую рекурсивный defaultdict, я могу написать table[A][B1][C1]=1
, table[A][B2]=2
, но это работает только в том случае, если я жестко кодирую эти инструкции insert.
Во время разбора списка я не знаю, сколько [] мне нужно позвонить table[key1][key2][...]
.