python列表嵌套字典递归修改父类的某个值

在做项目的时候遇到一个需求,有一个多层嵌套的树形结构,需要判断子类中的某个标记为True的时候同步更改父类的某个标记为True,一个简单的递归即可搞定!

数据结构

[
    {
        "id": 1,
        "parent": None,
        "expanded": False,
        "children": [
            {
                "id": 2,
                "parent": 1,
                "active": True,
                "children":[]
            }
        ]
    }
]

递归函数

def traverse(node):
    # 递归判断active并修改父类的expanded
    if 'children' in node and node['children']:
        for item in node['children']:
            if not item.get('active'):
                continue
            node['expanded'] = True
            self.traverse(item)

使用

nodes = "如例子所示的数据结构"
for node in nodes:
    trarverse(node)

print(nodes)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值