python字典嵌套字典的情况下找到某个key的value详解


Posted in Python onJuly 10, 2019

最近在用python写接口的测试程序,期间用到解析字典获取某个key的value,由于多个接口返回的字典格式不是固定的并存在多层嵌套的情况。在字典的方法中也没有找到可直接达到目的的方法(也可能是我对字典的方法了解的不深的缘故),于是自己写了个程序。

下面是代码

#coding: utf-8
import types

#获取字典中的objkey对应的值,适用于字典嵌套
#dict:字典
#objkey:目标key
#default:找不到时返回的默认值
def dict_get(dict, objkey, default):
  tmp = dict
  for k,v in tmp.items():
    if k == objkey:
      return v
    else:
      if type(v) is types.DictType:
        ret = dict_get(v, objkey, default)
        if ret is not default:
          return ret
  return default

#如
dicttest={"result":{"code":"110002","msg":"设备设备序列号或验证码错误"}}
ret=dict_get(dicttest, 'msg', None)
print(ret)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python dict remove数组删除(del,pop)
Mar 24 Python
Python深入学习之特殊方法与多范式
Aug 31 Python
Python线程创建和终止实例代码
Jan 20 Python
python之Flask实现简单登录功能的示例代码
Dec 24 Python
Django 配置多站点多域名的实现步骤
May 17 Python
解决webdriver.Chrome()报错:Message:'chromedriver' executable needs to be in Path
Jun 12 Python
opencv导入头文件时报错#include的解决方法
Jul 31 Python
Python爬取腾讯视频评论的思路详解
Dec 19 Python
python打印异常信息的两种实现方式
Dec 24 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
Dec 25 Python
谈谈Python:为什么类中的私有属性可以在外部赋值并访问
Mar 05 Python
Python如何实现的二分查找算法
May 27 Python
如何安装并使用conda指令管理python环境
Jul 10 #Python
python变量的存储原理详解
Jul 10 #Python
python中 * 的用法详解
Jul 10 #Python
通过python实现随机交换礼物程序详解
Jul 10 #Python
Python实现简单的列表冒泡排序和反转列表操作示例
Jul 10 #Python
Python获取好友地区分布及好友性别分布情况代码详解
Jul 10 #Python
Python中的类与类型示例详解
Jul 10 #Python
You might like
基于mysql的bbs设计(二)
2006/10/09 PHP
PHP正确解析UTF-8字符串技巧应用
2012/11/07 PHP
php获取目录所有文件并将结果保存到数组(实例)
2013/10/25 PHP
PHP echo()函数讲解
2019/02/15 PHP
php定期拉取数据对比方法实例
2019/09/22 PHP
jQuery 性能优化指南 (1)
2009/05/21 Javascript
用jquery实现自定义风格的滑动条实现代码
2011/04/26 Javascript
jquery中文乱码的多种解决方法
2013/06/21 Javascript
HTML页面滚动时获取离页面顶部的距离2种实现方法
2013/09/05 Javascript
javascript 实现字符串反转的三种方法
2013/11/23 Javascript
Jquery创建层显示标题和内容且随鼠标移动而移动
2014/01/26 Javascript
Windows 系统下安装和部署Egret的开发环境
2014/07/31 Javascript
简单方法判断JavaScript对象为null或者属性为空
2014/09/26 Javascript
websocket+node.js实现实时聊天系统问题咨询
2017/05/17 Javascript
详解如何使用webpack打包Vue工程
2017/05/27 Javascript
浅谈vue-router 路由传参的方法
2017/12/27 Javascript
npm 更改默认全局路径以及国内镜像的方法
2018/05/16 Javascript
Vue路由前后端设计总结
2019/08/06 Javascript
微信小程序事件流原理解析
2019/11/27 Javascript
详解React中共享组件逻辑的三种方式
2021/02/02 Javascript
JavaScript 判断浏览器是否是IE
2021/02/19 Javascript
[01:10]3.19DOTA2发布会 三代刀塔人第一代
2014/03/25 DOTA
Python中的生成器和yield详细介绍
2015/01/09 Python
Python中的异常处理学习笔记
2015/01/28 Python
分析在Python中何种情况下需要使用断言
2015/04/01 Python
html5 offlline 缓存使用示例
2013/06/24 HTML / CSS
AmazeUI 折叠面板的实现代码
2020/08/17 HTML / CSS
英国著名音像制品和图书游戏购物网站:Zavvi
2016/08/04 全球购物
普通PHP程序员笔试题
2016/01/01 面试题
宣传策划类求职信范文
2014/01/31 职场文书
数学教研活动总结
2014/07/02 职场文书
公司年底活动方案
2014/08/17 职场文书
四风查摆问题自查报告
2014/10/10 职场文书
2015年度学校卫生工作总结
2015/05/12 职场文书
教师节主持词开场白
2015/05/29 职场文书
基于Python编写简易版的天天跑酷游戏的示例代码
2022/03/23 Python