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 相关文章推荐
python处理中文编码和判断编码示例
Feb 26 Python
python进阶教程之循环对象
Aug 30 Python
Python import用法以及与from...import的区别
May 28 Python
django 开发忘记密码通过邮箱找回功能示例
Apr 17 Python
python递归实现快速排序
Aug 18 Python
Python选择网卡发包及接收数据包
Apr 04 Python
pandas分区间,算频率的实例
Jul 04 Python
查看Python依赖包及其版本号信息的方法
Aug 13 Python
python 叠加等边三角形的绘制的实现
Aug 14 Python
Python字符串格式化输出代码实例
Nov 22 Python
python 装饰器重要在哪
Feb 14 Python
分享Python获取本机IP地址的几种方法
Mar 17 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接口技术实例详解
2016/12/07 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
2018/05/31 PHP
使用composer命令加载vendor中的第三方类库 的方法
2019/07/09 PHP
CSS+JS构建的图片查看器
2006/07/22 Javascript
为数据添加append,remove功能
2006/10/03 Javascript
JavaScript学习笔记(二) js对象
2011/10/25 Javascript
javascript时间自动刷新实现原理与步骤
2013/01/06 Javascript
js图片模糊切换显示特效的方法
2015/02/17 Javascript
jQuery右侧选项卡焦点图片轮播特效代码分享
2015/09/05 Javascript
AngularJS Module方法详解
2015/12/08 Javascript
基于javascript实现文字无缝滚动效果
2016/03/22 Javascript
Bootstrap表单组件教程详解
2016/04/26 Javascript
jQuery实现摸拟alert提示框
2016/05/22 Javascript
bootstrap导航条实现代码
2016/12/28 Javascript
原生js中ajax访问的实例详解
2017/09/19 Javascript
ES6学习教程之对象字面量详解
2017/10/09 Javascript
浅谈react受控组件与非受控组件(小结)
2018/02/09 Javascript
浅谈vue3中effect与computed的亲密关系
2019/10/10 Javascript
Egg Vue SSR 服务端渲染数据请求与asyncData
2019/11/24 Javascript
python去掉字符串中重复字符的方法
2014/02/27 Python
python实现从网络下载文件并获得文件大小及类型的方法
2015/04/28 Python
Python中用PIL库批量给图片加上序号的教程
2015/05/06 Python
node.js获取参数的常用方法(总结)
2017/05/29 Python
keras获得model中某一层的某一个Tensor的输出维度教程
2020/01/24 Python
Python如何通过Flask-Mail发送电子邮件
2020/01/29 Python
将pycharm配置为matlab或者spyder的用法说明
2020/06/08 Python
基于nexus3配置Python仓库过程详解
2020/06/15 Python
Python实时监控网站浏览记录实现过程详解
2020/07/14 Python
受希腊女神灵感的晚礼服、鸡尾酒礼服和婚纱:THEIA
2018/04/15 全球购物
俄罗斯园林植物网上商店:Garshinka
2020/07/16 全球购物
Linux Interview Questions For software testers
2012/06/02 面试题
企业总经理岗位职责
2014/02/13 职场文书
公司户外活动总结
2014/07/04 职场文书
矛盾论读书笔记
2015/06/29 职场文书
Django中的JWT身份验证的实现
2021/05/07 Python
win10音频服务未响应怎么解决?win10音频服务未响应未修复的解决方法
2022/08/14 数码科技