如何在 python 中将字典列表转换为分层字典

问题描述 投票:0回答:0

这是我的输入

lis=[
    {'1.': 1, '1.1': 2, '1.2': 2, '1.3': 2},
    {'2.': 1, '2.1': 2, '2.2': 2, '2.3': 2, '2.4': 2, '2.5': 2, '(a)': 3, '(b)': 3, '2.6': 2, '2.7': 2, '2.8': 2, '(c)': 3, '2.9': 2, '227.7202': 2, '12.212,': 2, '2.11': 2},
    {'3.': 1, '3.1': 2, '3.2': 2, '3.3': 2, '(a)': 3, '(b)': 3, '(c)': 3, '3.4': 2, '3.5': 2, '3.6': 2},
    {'4.': 1, '4.1': 2, '4.2': 2, '(i)': 3, '(ii)': 3, '(iii)': 3, '(a)': 4, '(b)': 4, '4.3': 2, '4.2,': 2, '4.4': 2},
    {'5.': 1, '5.1': 2, '5.2': 2, '5.3': 2, '2.3': 2, '2.9,': 2, '3.6,': 2, '5.4': 2}
]

我输入了如上所示的字典列表字典的键是标题或副标题字典的值是标题或副标题的级别,其中1级可以是标题,2级是副标题和父标题三级副标题。

我想将上面的转换成如下所示的输出:

我想要这样的输出:

{
    '1.': {'1.1': {}, '1.2': {}, '1.3': {}},
    '2.': {'2.1': {}, '2.2': {}, '2.3': {}, '2.4': {}, '2.5': {'(a)': {}, '(b)': {}}, '2.6': {}, '2.7': {}, '2.8': {'(c)': {}}, '2.9': {}, '227.7202': {}, '12.212,': {}, '2.11': {}},
    '3.': {'3.1': {}, '3.2': {}, '3.3': {'(a)': {}, '(b)': {}, '(c)': {}}, '3.4': {}, '3.5': {}, '3.6': {}},
    '4.': {'4.1': {}, '4.2': {'(i)': {}, '(ii)': {}, '(iii)': {'(a)': {}, '(b)': {}}, '4.3': {}, '4.2,': {}, '4.4': {}}},
    '5.': {'5.1': {}, '.....

我期待如上所示的输出。

python dictionary hierarchy
© www.soinside.com 2019 - 2024. All rights reserved.