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实现百度关键词排名查询
Mar 30 Python
盘点提高 Python 代码效率的方法
Jul 03 Python
python实现每次处理一个字符的三种方法
Oct 09 Python
Python EOL while scanning string literal问题解决方法
Sep 18 Python
Python从MP3文件获取id3的方法
Jun 15 Python
python编写分类决策树的代码
Dec 21 Python
python selenium firefox使用详解
Feb 26 Python
Python根据服务获取端口号的方法
Sep 25 Python
Python实现把类当做字典来访问
Dec 16 Python
python 命名规范知识点汇总
Feb 14 Python
Python netmiko模块的使用
Feb 14 Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
Feb 28 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 水平的题目
2007/05/30 PHP
PHP大神的十大优良习惯
2016/09/14 PHP
php事务回滚简单实现方法示例
2017/03/28 PHP
jQuery实现动画效果的实例代码
2013/05/07 Javascript
jquery实现div拖拽宽度示例代码
2013/07/31 Javascript
jquery ezUI 双击行记录弹窗查看明细的实现方法
2016/06/01 Javascript
引用jquery框架后出错的解决方法
2016/08/09 Javascript
原生JS实现图片轮播效果
2016/12/26 Javascript
ES6中Iterator与for..of..遍历用法分析
2017/03/31 Javascript
详解使用nvm管理多版本node的方法
2017/08/30 Javascript
vue将后台数据时间戳转换成日期格式
2019/07/31 Javascript
Js图片点击切换轮播实现代码
2020/07/27 Javascript
nuxt.js 在middleware(中间件)中实现路由鉴权操作
2020/11/06 Javascript
Vue多选列表组件深入详解
2021/03/02 Vue.js
python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
2013/12/06 Python
python 不以科学计数法输出的方法
2018/07/16 Python
python使用__slots__让你的代码更加节省内存
2018/09/05 Python
Python实现对字典分别按键(key)和值(value)进行排序的方法分析
2018/12/19 Python
python实现图片彩色转化为素描
2019/01/15 Python
python 实现图片批量压缩的示例
2020/12/18 Python
HTML5 Canvas渐进填充与透明实现图像的Mask效果
2013/07/11 HTML / CSS
DKNY品牌官网:纽约大都会时尚风格
2016/10/20 全球购物
受外贸欢迎的美国主机:BlueHost
2017/05/16 全球购物
马来西亚太阳镜、眼镜和隐形眼镜网上商店:Focus Point
2018/12/13 全球购物
计算机专业个人求职自荐信
2013/09/21 职场文书
护理专业学生的求职信范文
2013/12/11 职场文书
小学校长竞聘演讲稿
2014/05/16 职场文书
个人房屋买卖协议书(范本)
2014/10/04 职场文书
党员对十八届四中全会的期盼思想汇报范文
2014/10/17 职场文书
2014年司机工作总结
2014/11/21 职场文书
老公出轨后的保证书
2015/05/08 职场文书
禁毒主题班会教案
2015/08/14 职场文书
2019预备党员转正申请书模板2篇!
2019/08/07 职场文书
matlab xlabel位置的设置方式
2021/05/21 Python
Go并发4种方法简明讲解
2022/04/06 Golang
python 学习GCN图卷积神经网络
2022/05/11 Python