• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

浅谈Python列表嵌套字典转化的问题

python 搞代码 4年前 (2022-01-07) 38次浏览 已收录 0个评论

这篇文章主要介绍了浅谈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-8 import 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 e<div style="color:transparent">来源gaodai.ma#com搞##代!^码@网</div>lse: 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))

以上为个人经验,希望能给大家一个参考,也希望大家多多支持gaodaima搞代码网。如有错误或未考虑完全的地方,望不吝赐教。

以上就是浅谈Python列表嵌套字典转化的问题的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:浅谈Python列表嵌套字典转化的问题

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址