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之有容乃大的list(4)
Sep 28 Python
浅谈Python数据类型之间的转换
Jun 08 Python
python 实现一个贴吧图片爬虫的示例
Oct 12 Python
对python制作自己的数据集实例讲解
Dec 12 Python
Python正则表达式和re库知识点总结
Feb 11 Python
Python基础学习之类与实例基本用法与注意事项详解
Jun 17 Python
浅谈Python中(&,|)和(and,or)之间的区别
Aug 07 Python
python实现PCA降维的示例详解
Feb 24 Python
如何写python的配置文件
Jun 07 Python
python爬取企查查企业信息之selenium自动模拟登录企查查
Apr 08 Python
使用python求解迷宫问题的三种实现方法
Mar 17 Python
python前后端自定义分页器
Apr 13 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蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
PHP return语句的另一个作用
2014/07/30 PHP
php获取本机真实IP地址实例代码
2016/03/31 PHP
thinkPHP统计排行与分页显示功能示例
2016/12/02 PHP
Laravel用户授权系统的使用方法示例
2018/09/16 PHP
php菜单/评论数据递归分级算法的实现方法
2019/08/01 PHP
jquery 图片预加载 自动等比例缩放插件
2008/12/25 Javascript
Javascript Object.extend
2010/05/18 Javascript
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
详谈jQuery操纵DOM元素属性 attr()和removeAtrr()方法
2015/01/22 Javascript
把多个JavaScript函数绑定到onload事件处理函数上的方法
2016/09/04 Javascript
微信小程序 获取相册照片实例详解
2016/11/16 Javascript
AngularJS中directive指令使用之事件绑定与指令交互用法示例
2016/11/22 Javascript
js基于myFocus实现轮播图效果
2017/02/14 Javascript
Windows下使用Nodejs运行js的方法
2017/09/02 NodeJs
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
2020/02/06 NodeJs
vue如何在项目中调用腾讯云的滑动验证码
2020/07/15 Javascript
vue中实现拖动调整左右两侧div的宽度的示例代码
2020/07/22 Javascript
[20:21]《一刀刀一天》第十六期:TI国际邀请赛正式打响,总奖金超过550万
2014/05/23 DOTA
Python计算一个文件里字数的方法
2015/06/15 Python
深入浅析python继承问题
2016/05/29 Python
python实现可以断点续传和并发的ftp程序
2016/09/13 Python
django实现前后台交互实例
2017/08/07 Python
python接口自动化(十六)--参数关联接口后传(详解)
2019/04/16 Python
django的settings中设置中文支持的实现
2019/04/28 Python
Win10下Python3.7.3安装教程图解
2019/07/08 Python
运动员口号
2014/06/09 职场文书
“九一八事变纪念日”国旗下讲话稿
2014/09/14 职场文书
2014年护士工作总结范文
2014/11/11 职场文书
先进个人事迹材料范文
2014/12/30 职场文书
学生检讨书
2015/01/27 职场文书
爱国主义主题班会
2015/08/14 职场文书
2019学生会干事辞职信
2019/06/27 职场文书
导游词之阆中古城
2019/12/23 职场文书
Java 超详细讲解hashCode方法
2022/04/07 Java/Android
零基础学java之带参数以及返回值的方法
2022/04/10 Java/Android