没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
2页
!!这是一个直接可用的方法!! 看看效果! 我们有这样一个多层嵌套的多维字典: # 老千层饼 data = { '千层饼': { '你以为我是第一层': { '其实我是第五层': '呵呵', '其实还有': { '肉弹葱鸡': ['哦!'], '又千层了': '重名了但是一样找到', '字符串类型,但是我想转换成整数': '999' } }, '对': '对又怎么了',
资源详情
资源评论
资源推荐
Python深度遍历查找字典键对应的值,在多层嵌套的字典中找深度遍历查找字典键对应的值,在多层嵌套的字典中找
到你要的数据到你要的数据
!!这是一个直接可用的方法!!!!这是一个直接可用的方法!!
看看效果!看看效果!
我们有这样一个多层嵌套多层嵌套的多维字典:
# 老千层饼
data = {
'千层饼': {
'你以为我是第一层': {
'其实我是第五层': '呵呵',
'其实还有': {
'肉弹葱鸡': ['哦!'],
'又千层了': '重名了但是一样找到',
'字符串类型,但是我想转换成整数': '999'
}
},
'对': '对又怎么了',
'好得很': '嗯'
},
'呵呵': '怎么',
'又千层了': {
'是的': '确实',
'加一层': {
'再加一层': {
'嗯': '找到了'
}
}
}
}
如果我们想要从中拿一个数据出来,是十分麻烦的……
# 赋值
肉弹葱鸡 = data['千层饼']['你以为我是第一层']['其实还有']['肉弹葱鸡']
于是为了减少麻烦,我写了个可以直接使用的函数:于是为了减少麻烦,我写了个可以直接使用的函数:
# 调用
肉弹葱鸡 = find('肉弹葱鸡', data)
print(肉弹葱鸡)
输出:['哦!']
很好!但是这个data字典里存在两个名字一样的键字典里存在两个名字一样的键: **又千层了**,会不会有问题呢?
不用担心!请看:
# 调用
多个结果 = findAll('又千层了',data)
print(多个结果)
输出:[{'是的': '确实', '加一层': {'再加一层': {'嗯': '找到了'}}}, '重名了但是一样找到']
嗯,函数直接找到了所有符合该键名的值。下面直接放出这两个方法:
# 查找单个键
def find(target, dictData, notFound='没找到'):
queue = [dictData] while len(queue) > 0:
data = queue.pop()
for key, value in data.items():
if key == target: return value
elif type(value) == dict: queue.append(value)
return notFound
# 有多个同名键在字典里时,可以用这个方法
def findAll(target, dictData, notFound=[]):
queue = [dictData] result = [] while len(queue) > 0:
data = queue.pop()
for key, value in data.items():
if key == target: result.append(value)
elif type(value) == dict: queue.append(value)
if not result: result = notFound
weixin_38604620
- 粉丝: 4
- 资源: 895
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- yolov5,SSD 可能使用到的一些代码
- 介绍离散性制造行业的MES系统流程
- 基于IDEA-CCNL/Randeng-Pegasus-238M-Summary-Chines微调的中文文本摘要任务源码+数据集
- 微信小程序源码 车源宝 二手车交易平台 源码下载
- 微信小程序源码 实现 城市切换 demo 根据城市首字母排序城市 选择城市 源码下载
- 2024新版计算机编译原理期末速成全套视频教程(视频+配套资料)
- VMware7.0虚拟机硬盘无法编辑,无法连接到Profile-Driven Storage Service
- arm64内核的mongo镜像
- 基于stm32f103c单片机+MPU6050+0.96英寸OLED显示屏双柄遥控器硬件(原理图+PCB)工程文件.zip
- 整理的关于少儿编程的学习路径,以及如何在小升初,初升高和大学充分的利用起来编程经验的优势
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0