小编Aoa*_*ppa的帖子

具有一个函数的列表的嵌套字典的顶级长度

我有一个包含列表的嵌套字典,需要获取字典中每个顶级值中所有列表的长度总和。示例列表如下:

data = {0: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
        1: {0: [11, 12],
            1: {0: [13, 14],
                1: [15, 16],
                2: [17, 18, 19, 20],
                3: {0: [43, 34],
                    1: [4],
                    2: [2, 3, 4, 5]}}}}
Run Code Online (Sandbox Code Playgroud)

我相信我有一个使用以下两个函数的可行解决方案:

def TreeSum(tree):
    return [len(v) if isinstance(v, list) else SubTreeSum(v) for v in tree.values()]

def SubTreeSum(tree):
    return sum([len(v) if isinstance(v, list) else SubTreeSum(v) for v in tree.values()])
Run Code Online (Sandbox Code Playgroud)

TreeSum(data)is[10, 17]和it的输出TreeSum(data[1][1])[2, 2, 4, 7]。 …

python nested list

1
推荐指数
1
解决办法
125
查看次数

标签 统计

list ×1

nested ×1

python ×1