高老师好

news/2024/12/26 10:10:31/文章来源:https://www.cnblogs.com/adai-study-1030/p/18632068
点击查看代码
def get_nested_value(data, keys, values):dataCopy = dataif not keys:return FalsefoundEnd = Falsefor key, value in zip(keys, values):print(key, value)subkeys = key.split('.')foundMid = Falsefor subkey in subkeys:print("subkey值{}".format(subkey))print("data值{}".format(dataCopy))found = Falseif dataCopy is None:return False# 判断是否是对象if isinstance(dataCopy, dict):dataCopy = dataCopy.get(subkey)print("值{}".format(dataCopy))# 判断是否是字符串或者数字,是的话直接比较if(isinstance(dataCopy, (int, str))):if str(dataCopy) == value:foundMid = Trueprint("单层 {}".format(foundMid))breakcontinue# 判断是否是数组,是的话遍历数组elif isinstance(dataCopy, list):if subkey.isdigit() and int(subkey) < len(dataCopy):dataCopy = dataCopy[int(subkey)]else:print("222")foundThird = Falsefor item in dataCopy:print("item值{}".format(item))if isinstance(item, dict) and subkey in item:dataCopy = item[subkey]print("值{}".format(dataCopy))if(isinstance(dataCopy, (int, str))):if str(dataCopy) == value:foundThird = Trueprint("多层{}".format(foundThird))breakprint("2221232222222")continueprint("2221232222")if isinstance(dataCopy, list):print("item值{}".format(item))print("2222222")if subkey.isdigit() and int(subkey) < len(dataCopy):dataCopy = dataCopy[int(subkey)]else:print("2222")for item in dataCopy:if isinstance(item, dict) and subkey in item:print("33333")dataCopy = item[subkey]print("值{}".format(dataCopy))if(isinstance(dataCopy, (int, str))):if str(dataCopy) == value:found = Trueprint("内多层{}".format(found))breakcontinueprint("aaaa2221232222")if not found:print("not多层{}".format(not found))breakelse:foundMid = foundif not found:print("not多层{}".format(not found))breakelse:foundMid = found# return Falseelse:print("333")if not found:print("not单层{}".format(found))else:foundMid = foundif not foundMid:print("not foundMid2 {}".format(foundMid))foundEnd = Falseelse:print("foundMid2 {}".format(foundMid))foundEnd = TruedataCopy = datareturn foundEnd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/859195.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MIT、OpenAI等震撼力作:AI首次自主发现人工生命!人类窥见上帝造物

就在刚刚,由Transformer八子创立的Sakana AI,联合来自MIT、OpenAI、瑞士AI实验室IDSIA等机构的研究人员,提出了「自动搜索人工生命」的新算法!论文地址:https://arxiv.org/abs/2412.17799 言归正传,ALife,即「人工生命」,是一门跨学科研究,旨在通过模拟生命的行为、特…

AI基坑监测识别摄像机

AI基坑监测识别摄像机是一种利用人工智能技术进行基坑监测的智能设备,其作用是监测基坑工程施工过程中的变化,并识别潜在的风险因素,以提供准确数据和及时预警,确保基坑工程的安全进行。这种摄像机通过高清摄像头实时捕捉基坑工程的图像,然后利用AI算法对基坑的土体稳定性…

波士顿矩阵:如何制定产品战略与组合优化?

引言 在当今竞争激烈的市场环境中,企业面临着众多产品的管理与决策难题。如何合理分配资源,确定哪些产品值得加大投入,哪些产品需要逐步淘汰,是企业实现可持续发展的关键。波士顿矩阵作为一种经典的产品战略分析工具,为企业提供了一个清晰的框架,帮助管理者洞察产品的市场…

电动车违停智能监测摄像机

电动车违停智能监测摄像机可以通过合理设置监控区域和参数,实现对电动车违停情况的自动监测和报警。一旦系统检测到电动车违停情况,比如车辆停放时间过长或占用人行道等,会立即发送警报通知相关部门,以便及时处理并维护交通秩序。电动车违停智能监测摄像机可以广泛应用于城…

Flutter进阶组件(2):CheckboxListTile(复选框列表项)

CheckboxListTile是一个特殊的ListTile,它内嵌了一个复选框(Checkbox)。这使得它非常适合用来创建一个带有标题和可选复选框的列表项,常用于设置界面或需要用户选择多个选项的场景。 一、属性 CheckboxListTile组件提供了以下属性,以支持各种自定义需求:title: 显示的标题…

3种常见的数据库迁移工具对比

3种常见的数据库迁移工具对比神州数码云基地​已认证账号​关注2 人赞同了该文章之前在项目中,收到一个紧急需求,要把数据从 PostgreSQL 迁移到 TiDB 中。由于时间紧任务重,来不及调研高效的方式,直接使用了 Navicat 内置的功能,把数据从 PostgreSQL 迁移到了 TiDB。 项…

img标签的onerror事件有什么作用?

onerror 是 HTML <img> 标签的一个事件属性,它用于指定当图像加载出现错误时执行的 JavaScript 代码。如果指定的图像文件不存在、无法访问,或者由于某种原因无法正确加载到页面上,就会触发这个事件。 例如,你可以使用 onerror 事件来提供一个备用的图像,以便在原图…

java基础3

异常 Java 异常类层次结构图概览:Exception 和 Error 有什么区别? 在 Java 中,所有的异常都有一个共同的祖先 java.lang 包中的 Throwable 类。Throwable 类有两个重要的子类:Exception :程序本身可以处理的异常,可以通过 catch 来进行捕获。Exception 又可以分为 Checked …

12-26 工作笔记

1. 从已有的PCB制作封装库得到下面的内容,代表成功了。

业务系统文件安全上传 如何做到安全合规?

业务系统文件安全上传的业务场景,主要是指金融、医疗、能源、政府机构等,内部各类业务系统(例如:OA、供应商管理系统、客户管理系统、客服系统、风控系统等)面向大量终端用户提供服务时,往往需要终端用户上传各类文件附件。 这种业务场景面临的主要挑战包括: 1、安全威…

Byrutor,俄罗斯最大游戏破解资源站|中文

Byrutor是一个源自俄罗斯的游戏下载网站,提供大量最新和经典的游戏资源,几乎涵盖了Steam等主流平台的内容。用户可以通过搜索或浏览找到自己喜欢的游戏,并通过BT种子下载游戏资源。该平台支持多种语言,包括俄语和英语,并且每天更新内容,确保用户能够获取最新的游戏资源。…

销冠秘籍:人脉拓展

在人生的旅途中,人脉往往扮演着至关重要的角色。如果你的朋友众多,人际关系广泛,善于建立和维护关系,那么业务的拓展自然会水到渠成。然而,现实生活中的人脉构建并非易事,它需要我们用心去经营,去维护。 自我价值:人脉的基石 初入职场时,我曾被老板告诫:年轻人不要过…