这篇教程浅谈Python列表嵌套字典转化的问题写得很实用,希望能帮到您。 在看视频教程的时候提到了[{'a' : 97}, {'b' : 98}, {'c' : 99}, {'d' : 100}, {'e' : 101}, ...........]形式的列表嵌套形式, 要求是将上述列表转换为{'a' : 97,'b' : 98,'c' : 99 ,'d' : 100,'e' : 101,。。。。。}的字典形式 首先上述的a--->97, b--->98,。。。。。意思是key为a到z的英文小写字母,value值为对应的ascii码, 那么一开始可以结合range()方法定义变量如下: 
那么alpha = ['a','b','c',........'z'] 转换为[{'a' : 97}, {'b' : 98}, {'c' : 99}, {'d' : 100}, {'e' : 101}, ...........]的代码可以结合map()函数来生成 
函数运行结果: 
其实就是将[{'a' : 97}, {'b' : 98}, {'c' : 99}, {'d' : 100}, {'e' : 101}, ...........]遍历打印出来的结果。 然后就是要将上述的形式转换为 {'a' : 97,'b' : 98,'c' : 99 ,'d' : 100,'e' : 101,。。。。。} 本人采用的是Python字典中的items()函数方法: i.items()的作用:使 { x : y } ---------》[ (x , y ) ] 结果就是: {'a' : 97}, {'b' : 98}, {'c' : 99}, {'d' : 100}, {'e' : 101}, ...........---------》 [('a' , 97)],[('b' : 98)],........ 也就是 一个i.items() 代表一个[ ( x , y) ] 字典列表 双重循环遍历输出i.items()结果: 

程序的目的是获得对应的key,value值: 

然后将上述的数据放到新定义的空字典中: 

补充:python判断字典是嵌套和嵌套字典列表 如下所示: #coding: utf-8import types#获取字典中的objkey对应的值,适用于字典嵌套#dict:字典#objkey:目标key#default:找不到时返回的默认值def dict_get(dict, objkey, default): tmp = dict for k,v in tmp.items(): if k == objkey: return v else: if type(v) is types.DictType: ret = dict_get(v, objkey, default) if ret is not default: return ret return default#如dicttest={"result":{"code":"110002","msg":"设备设备序列号或验证码错误"}}ret=dict_get(dicttest, 'msg', None)print(ret) 字典的列表 "network": { "tls": [], "udp": [ { "src": "192.168.56.102", "dst": "114.114.114.114", "offset": 2372, "time": 9.506472110748291, "dport": 53, "sport": 51394 }, { "src": "192.168.56.102", "dst": "114.114.114.114", "offset": 2611, "time": 2.232347011566162, "dport": 53, "sport": 53604 }] }for k,v in mydict.items(): if type(v) is types.ListType: for val in v: if type(val) is types.DictType: for key,value in val.items(): print("%s:%s"%(key,value)) else: print("%s:%s"%(k,v)) 以上为个人经验,希望能给大家一个参考,也希望大家多多支持51zixue.net。如有错误或未考虑完全的地方,望不吝赐教。 python pyhs2 的安装操作 详解Python小数据池和代码块缓存机制 |