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

news/2024/11/30 0:50:16/

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

数据结构

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

递归函数

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

使用

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


http://www.ppmy.cn/news/778426.html

相关文章

华为、小米手机收不到推送消息的LOG

近来在华为手机上测试推送功能。发现一个怪问题,杀掉进程后收不到透传消息。现象如下: 1、一直能正常收到,用着用着收不到了。 2、重启手机,又正常。 3、进程活着,又能收到。 于是对比了LOG,发现出错时如下…

小米手机退出app后收不到极光推送消息

场景: 进入app,发送消息,消息正常接收,连续2次back退出app后,收不到极光推送消息,pushService进程存在,app主进程被杀。 华为,魅族都能在相同条件下接收消息,**小米手机…

小米手机短信闪退处理方法

建议备份后尝试一下进入Recovery(关机,按住音量上开机键进入recovery模式)清空所有数据,开机之后暂时不要还原数据,看看是否可以解决问题,如果还是无法解决,建议您尝试线刷到最新开发版尝试。请…

小米MIUI短信权限遇到的坑

最近公司开发一个项目,需要用到短信的功能,适配华为手机一切都正常,适配小米手机,遇到了两个棘手问题: 1.小米MIUI有个通知类短信权限,这个权限不知道如何申请,不知道如何判断是否具有该权限&a…

什么是提示工程?

原文链接:芝士AI吃鱼 理解大规模人工智能模型为何如此行事是一门艺术。即使是最有成就的技术专家也会对大型语言模型 (LLM) 的意想不到的能力感到困惑,大型语言模型是ChatGPT等人工智能聊天机器人的基本构建模块。 因此,提示工程成为生成式 …

银河麒麟配置root登录

银河麒麟配置root登录 1设置root密码 执行命令sudo passwd root 然后输入密码,对root用户进行配置密码 2修改登录系统配置文件 修改/usr/share/lightdm/lightdm.conf.d/95-ukui-greeter.conf 在文件的最后添加两行 greeter-show-manual-logintrue all-guestfal…

内核编译详解

linux系统优化 经验谈:如何使你的系统达到最优化? 1、检查你的gcc版本:#gcc --version 2、获取你的cpu的型号:cat /proc/cpuinfo 3、在/etc/下建立make.conf文件,并根据cpu的型号写入不同内容。注意你的gcc版本必 须在3.0以上。 i386 (Intel): CHOST="i386-pc-linux…

Kubernetes(k8s)超详细的安装步骤

目录 一、环境设置 二、基本环境配置 (一)主机名配置 1、在master虚拟机上操作 2、在node1r虚拟机上操作 3、在node2虚拟机上操作 (二)VMware网络配置 (三)虚拟机网络配置 1、在master虚拟机上操作…