Python多维/嵌套字典数据无限遍历的实现


Posted in Python onNovember 04, 2016

最近拾回Django学习,实例练习中遇到了对多维字典类型数据的遍历操作问题,Google查询没有相关资料…毕竟是新手,到自己动手时发现并非想象中简单,颇有两次曲折才最终实现效果,将过程记录下来希望对大家有用。

实例数据(多重嵌套):

person = {"male":{"name":"Shawn"}, "female":{"name":"Betty","age":23},"children":{"name":{"first_name":"李", "last_name":{"old":"明明","now":"铭"}},"age":4}}

目的:

遍历person中所有嵌套字典类型数据,并以 key : value 的方式显示思路:首先分析数据是否符合字典特征打印该数据的key及对应value循环检查该数据的每一个子value是否符合字典特征,如果符合则迭代执行,不符合则返回循环继续执行至结束

具体代码:

def is_dict(dict_a): #此方法弃用,python已提供数据类型检测方法isinstance() 

 try: 

  dict_a.keys() 

 except Exception , data: 

  return False 

 return True 

 

def list_all_dict(dict_a): 

 if isinstance(dict_a,dict) : #使用isinstance检测数据类型 

  for x in range(len(dict_a)): 

   temp_key = dict_a.keys()[x] 

   temp_value = dict_a[temp_key] 

   print"%s : %s" %(temp_key,temp_value) 

   list_all_dict(temp_value) #自我调用实现无限遍历

结果:

执行 list_all_dict(person),系统回应 :

male : {'name': 'Shawn'} 

name : Shawn 

children : {'age': 4, 'name': {'first_name': '\xc0\xee', 'last_name': {'now':'\xc3\xfa', 'old': '\xc3\xf7\xc3\xf7'}}} 

age : 4 

name : {'first_name': '\xc0\xee', 'last_name': {'now': '\xc3\xfa', 'old':'\xc3\xf7\xc3\xf7'}} 

first_name : 李 

last_name : {'now': '\xc3\xfa', 'old': '\xc3\xf7\xc3\xf7'} 

now : 铭 

old : 明明 

female : {'age': 23, 'name': 'Betty'} 

age : 23 

name : Betty

以上这篇Python多维/嵌套字典数据无限遍历的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Windows8下安装Python的BeautifulSoup
Jan 22 Python
python计算牛顿迭代多项式实例分析
May 07 Python
python显示生日是星期几的方法
May 27 Python
使用python加密自己的密码
Aug 04 Python
python spyder中读取txt为图片的方法
Apr 27 Python
Python实现的各种常见分布算法示例
Dec 13 Python
python 输出所有大小写字母的方法
Jan 02 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
Jun 10 Python
pandas之分组groupby()的使用整理与总结
Jun 18 Python
python中如何写类
Jun 29 Python
Python DES加密实现原理及实例解析
Jul 17 Python
Python从MySQL数据库中面抽取试题,生成试卷
Jan 14 Python
浅谈Python数据类型判断及列表脚本操作
Nov 04 #Python
浅谈python字典多键值及重复键值的使用
Nov 04 #Python
用Python将动态GIF图片倒放播放的方法
Nov 02 #Python
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
Nov 02 #Python
Python实现简单的四则运算计算器
Nov 02 #Python
利用Python命令行传递实例化对象的方法
Nov 02 #Python
Python 性能优化技巧总结
Nov 01 #Python
You might like
php中var_export与var_dump的区别分析
2010/08/21 PHP
一个PHP的QRcode类与大家分享
2011/11/13 PHP
ThinkPHP3.2.2的插件控制器功能简述
2014/07/09 PHP
thinkphp判断访客为手机端或PC端的方法
2014/11/24 PHP
WordPress中获取指定分类及其子分类下的文章数目
2015/12/31 PHP
Laravel5.5以下版本中如何自定义日志行为详解
2018/08/01 PHP
JavaScript对象模型-执行模型
2008/04/28 Javascript
javascript中的this详解
2014/12/08 Javascript
JavaScript encodeURI 和encodeURIComponent
2015/12/04 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
2016/05/16 Javascript
jquery 将当前时间转换成yyyymmdd格式的实现方法
2016/06/01 Javascript
Vue.js系列之vue-router(上)(3)
2017/01/03 Javascript
jQuery编写设置和获取颜色的插件
2017/01/09 Javascript
微信小程序 跳转传参数与传对象详解及实例代码
2017/03/14 Javascript
vue2.0 移动端实现下拉刷新和上拉加载更多的示例
2018/04/23 Javascript
利用jqgrid实现上移下移单元格功能
2018/11/07 Javascript
webpack 开发和生产并行设置的方法
2018/11/08 Javascript
JS document内容及样式操作完整示例
2020/01/14 Javascript
js删除指定位置超链接中含有百度与360的标题
2021/01/06 Javascript
Python 错误和异常小结
2013/10/09 Python
高性能web服务器框架Tornado简单实现restful接口及开发实例
2014/07/16 Python
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
2016/01/20 Python
详解Python解决抓取内容乱码问题(decode和encode解码)
2019/03/29 Python
Django 框架模型操作入门教程
2019/11/05 Python
python3 sleep 延时秒 毫秒实例
2020/05/04 Python
python中doctest库实例用法
2020/12/31 Python
澳大利亚购买最佳炊具品牌网站:Cookware Brands
2019/02/16 全球购物
男女钓鱼靴和甲板鞋:XTRATUF
2021/01/09 全球购物
介绍java中初始化块的使用
2012/09/11 面试题
介绍一些UNIX常用简单命令
2014/11/11 面试题
暑期社会实践学生的自我评价
2014/01/09 职场文书
园林技术专业求职信
2014/07/28 职场文书
党章培训心得体会
2014/09/04 职场文书
解除施工合同协议书
2014/10/17 职场文书
Nginx优化服务之网页压缩的实现方法
2021/03/31 Servers