时间:2021-05-22
最近拾回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多维/嵌套字典数据无限遍历的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Python嵌套式数据结构。分享给大家供大家参考,具体如下:嵌套式数据结构指的是:字典存储在列表中,或者列表作为值存储在字典中。甚至还可以在字典中
本文实例讲述了Python实现字典的遍历与排序功能。分享给大家供大家参考,具体如下:字典的遍历:首先:items():功能:以列表的形式返回字典键值对eg:di
本文实例讲述了PHP递归遍历多维数组实现无限分类的方法。分享给大家供大家参考,具体如下:1,'parentid'=>0,'name'=>'中国','img'=>
python字典操作提取key,valuedictionaryName[key]=value1.为字典增加一项2.访问字典中的值3、删除字典中的一项4、遍历字典
本文实例讲述了Python字典遍历操作。分享给大家供大家参考,具体如下:1遍历键值对可以使用一个for循环以及方法items()来遍历这个字典的键值对。dict