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爬虫实现抓取京东店铺信息及下载图片功能示例
Aug 07 Python
python实现AES加密解密
Mar 28 Python
Python将主机名转换为IP地址的方法
Aug 14 Python
django 简单实现登录验证给你
Nov 06 Python
PyTorch 对应点相乘、矩阵相乘实例
Dec 27 Python
Python Selenium参数配置方法解析
Jan 19 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
Aug 04 Python
requests在python中发送请求的实例讲解
Feb 17 Python
Django项目如何获得SSL证书与配置HTTPS
Apr 30 Python
python办公自动化之excel的操作
May 23 Python
如何利用python实现列表嵌套字典取值
Jun 10 Python
如何利用python创作字符画
Jun 25 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
一个简单的自动发送邮件系统(三)
2006/10/09 PHP
PHP开启gzip页面压缩实例代码
2010/03/11 PHP
PHP中用hash实现的数组
2011/07/17 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
2019/04/17 PHP
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
2007/08/08 Javascript
JavaScript中instanceof与typeof运算符的用法及区别详细解析
2013/11/19 Javascript
浅谈js算法和流程控制
2016/12/29 Javascript
js轮播图的插件化封装详解
2017/07/17 Javascript
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
2018/02/01 Javascript
angular实现input输入监听的示例
2018/08/31 Javascript
jQuery扩展方法实现Form表单与Json互相转换的实例代码
2018/09/05 jQuery
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
jquery实现图片无缝滚动 蒙版遮蔽效果
2020/01/11 jQuery
AutoJs实现刷宝短视频的思路详解
2020/05/22 Javascript
Jquery Fade用法详解
2020/11/06 jQuery
[06:53]2018DOTA2国际邀请赛寻真——为复仇而来的Newbee
2018/08/15 DOTA
python实现划词翻译
2020/04/23 Python
Python中的tuple元组详细介绍
2015/02/02 Python
浅谈编码,解码,乱码的问题
2016/12/30 Python
Python爬取商家联系电话以及各种数据的方法
2018/11/10 Python
关于python中的xpath解析定位
2020/03/06 Python
新手常见Python错误及异常解决处理方案
2020/06/18 Python
html5实现完美兼容各大浏览器的播放器
2014/12/26 HTML / CSS
美国网上眼镜商城:Zenni Optical
2016/11/20 全球购物
Bose法国官网:购买耳机、扬声器、家庭影院、专业音响
2017/12/21 全球购物
类的核心特性有哪些
2014/01/01 面试题
普通大学毕业生自荐信
2013/11/04 职场文书
最新大学职业规划书范文
2013/12/30 职场文书
学习雷锋倡议书
2014/04/15 职场文书
出国留学计划书
2014/04/27 职场文书
最美家庭活动方案
2014/08/31 职场文书
模范教师事迹材料
2014/12/16 职场文书
2016年圣诞节义工活动总结
2016/04/01 职场文书
解决Maven项目中 Invalid bound statement 无效的绑定问题
2021/06/15 Java/Android
Vue监视数据的原理详解
2022/02/24 Vue.js
nginx配置指令之server_name的具体使用
2022/08/14 Servers