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


Posted in Python onApril 07, 2021

在看视频教程的时候提到了[{'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()方法定义变量如下:

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

那么alpha = ['a','b','c',........'z']

转换为[{'a' : 97}, {'b' : 98}, {'c' : 99}, {'d' : 100}, {'e' : 101}, ...........]的代码可以结合map()函数来生成

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

函数运行结果:

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

其实就是将[{'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()结果:

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

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

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

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

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

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

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

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

补充: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
  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))

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。如有错误或未考虑完全的地方,望不吝赐教。

Python 相关文章推荐
Python实现按学生年龄排序的实际问题详解
Aug 29 Python
Python抓取聚划算商品分析页面获取商品信息并以XML格式保存到本地
Feb 23 Python
python爬虫爬取快手视频多线程下载功能
Feb 28 Python
Python3.5 创建文件的简单实例
Apr 26 Python
Python3.6日志Logging模块简单用法示例
Jun 14 Python
Tensorflow分类器项目自定义数据读入的实现
Feb 05 Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
Feb 21 Python
Python中的字符串切片(截取字符串)的详解
May 15 Python
django 基于中间件实现限制ip频繁访问过程详解
Jul 30 Python
Python字符编码转码之GBK,UTF8互转
Feb 09 Python
MxNet预训练模型到Pytorch模型的转换方式
May 25 Python
浅谈Python中的生成器和迭代器
Jun 19 Python
python pyhs2 的安装操作
Apr 07 #Python
python3 sqlite3限制条件查询的操作
Apr 07 #Python
python实现高效的遗传算法
解决hive中导入text文件遇到的坑
Apr 07 #Python
python - asyncio异步编程
Apr 06 #Python
python - timeit 时间模块
Apr 06 #Python
python制作图形界面的2048游戏, 基于tkinter
You might like
在PHP中养成7个面向对象的好习惯
2010/07/17 PHP
怎样给PHP源代码加密?PHP二进制加密与解密的解决办法
2013/04/22 PHP
使用ThinkPHP+Uploadify实现图片上传功能
2014/06/26 PHP
PHP单例模式详细介绍
2015/07/01 PHP
利用PHP如何实现Socket服务器
2015/09/23 PHP
PHP检查网站是否宕机的方法示例
2017/07/24 PHP
PHP全局使用Laravel辅助函数dd
2019/12/26 PHP
实例化php类时传参的方法分析
2020/06/05 PHP
深入理解JavaScript系列(11) 执行上下文(Execution Contexts)
2012/01/15 Javascript
jQuery插件开发的两种方法及$.fn.extend的详解
2014/01/16 Javascript
jQuery的animate函数学习记录
2014/08/08 Javascript
JavaScript中的单引号和双引号报错的解决方法
2014/09/01 Javascript
简介alert()与console.log()的不同
2015/08/26 Javascript
深入浅析同源策略和跨域访问
2015/11/26 Javascript
原生js和jquery分别实现横向导航菜单效果
2016/05/13 Javascript
利用Vue.js实现checkbox的全选反选效果
2017/01/18 Javascript
JS实现的自动打字效果示例
2017/03/10 Javascript
Angular4 ElementRef的应用
2018/02/26 Javascript
详解vue挂载到dom上会发生什么
2019/01/20 Javascript
javascript 原型与原型链的理解及应用实例分析
2020/02/10 Javascript
vue项目配置同一局域网可使用ip访问的操作
2020/10/23 Javascript
Python基于回溯法子集树模板解决最佳作业调度问题示例
2017/09/08 Python
Python验证文件是否可读写代码分享
2017/12/11 Python
查看django版本的方法分享
2018/05/14 Python
python3实现windows下同名进程监控
2018/06/21 Python
解决Django中多条件查询的问题
2019/07/18 Python
解决pycharm不能自动保存在远程linux中的问题
2021/02/06 Python
澳洲最大的时尚奢侈品电商平台:Cettire
2020/06/15 全球购物
保护环境标语
2014/06/09 职场文书
法人授权委托书范本
2014/09/17 职场文书
向国旗敬礼学生寄语大全
2014/09/30 职场文书
群众路线批评与自我批评发言稿
2014/10/16 职场文书
2015年房地产销售工作总结
2015/04/20 职场文书
社区结对共建协议书
2016/03/23 职场文书
一定要知道的 25 个 Vue 技巧
2021/11/02 Vue.js
Docker安装MySql8并远程访问的实现
2022/07/07 Servers