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实现冒泡,插入,选择排序简单实例
Aug 18 Python
python使用pil生成图片验证码的方法
May 08 Python
django批量导入xml数据
Oct 16 Python
python模块之re正则表达式详解
Feb 03 Python
Python爬取十篇新闻统计TF-IDF
Jan 03 Python
使用Python中的reduce()函数求积的实例
Jun 28 Python
将python包发布到PyPI和制作whl文件方式
Dec 25 Python
python默认参数调用方法解析
Feb 09 Python
scrapy框架携带cookie访问淘宝购物车功能的实现代码
Jul 07 Python
Python自动化测试中yaml文件读取操作
Aug 20 Python
pandas提升计算效率的一些方法汇总
May 30 Python
python读取mat文件生成h5文件的实现
Jul 15 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
冰滴咖啡制作步骤
2021/03/03 冲泡冲煮
php 过滤英文标点符号及过滤中文标点符号代码
2014/06/12 PHP
php通过array_merge()函数合并两个数组的方法
2015/03/18 PHP
PHP实现图片自动清理的方法
2015/07/08 PHP
thinkPHP5.0框架简单配置作用域的方法
2017/03/17 PHP
PHP使用OB缓存实现静态化功能示例
2019/03/23 PHP
一个用js实现控制台控件的代码
2007/09/04 Javascript
js可突破windows弹退效果代码
2008/08/09 Javascript
javascript IFrame 强制刷新代码
2009/07/23 Javascript
Javascript 变量作用域 两个可能会被忽略的小特性
2010/03/23 Javascript
javascript 二分法(数组array)
2010/04/24 Javascript
onsubmit阻止form表单提交与onclick的相关操作
2010/09/03 Javascript
用表格输出1-1000之间的数字实现代码(附特效)
2013/04/21 Javascript
返回函数的JavaScript函数
2016/06/14 Javascript
详解webpack 入门总结和实践(按需异步加载,css单独打包,生成多个入口文件)
2017/06/20 Javascript
angular2 ng2-file-upload上传示例代码
2018/08/23 Javascript
使用vue-router与v-if实现tab切换遇到的问题及解决方法
2018/09/07 Javascript
NProgress显示顶部进度条效果及使用详解
2019/09/21 Javascript
layui table 表格上添加日期控件的两种方法
2019/09/28 Javascript
vue 路由子组件created和mounted不起作用的解决方法
2019/11/05 Javascript
JavaScript实现联动菜单特效
2020/01/07 Javascript
vue项目实现减少app.js和vender.js的体积操作
2020/11/12 Javascript
python查询sqlite数据表的方法
2015/05/08 Python
Python合并字符串的3种方法
2015/05/21 Python
Python玩转加密的技巧【推荐】
2019/05/13 Python
Python3使用PySynth制作音乐的方法
2019/09/09 Python
Python Numpy,mask图像的生成详解
2020/02/19 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
2020/03/10 Python
深入理解HTML的FormData对象
2016/05/17 HTML / CSS
html5自定义video标签的海报与播放按钮功能
2019/12/04 HTML / CSS
用你熟悉的语言写一个连接ORACLE数据库的程序,能够完成修改和查询工作
2012/06/11 面试题
自我评价正确写法范文
2013/12/10 职场文书
意外伤害赔偿协议书范本
2014/09/28 职场文书
2015年依法治校工作总结
2015/07/27 职场文书
解析MySQL索引的作用
2022/03/03 MySQL
Java由浅入深通关抽象类与接口(下篇)
2022/04/26 Java/Android