浅谈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程序中使用Cookie的教程
Apr 30 Python
Python+Opencv识别两张相似图片
Mar 23 Python
windows10系统中安装python3.x+scrapy教程
Nov 08 Python
pandas.DataFrame选取/排除特定行的方法
Jul 03 Python
Python实现注册、登录小程序功能
Sep 21 Python
python读取有密码的zip压缩文件实例
Feb 08 Python
python sort、sort_index方法代码实例
Mar 28 Python
python代码 FTP备份交换机配置脚本实例解析
Aug 01 Python
python异步编程 使用yield from过程解析
Sep 25 Python
关于Pytorch的MNIST数据集的预处理详解
Jan 10 Python
Python读写操作csv和excle文件代码实例
Mar 16 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
Apr 16 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入门速成教程
2007/03/19 PHP
详解配置 Apache 服务器支持 PHP 文件的解析
2017/02/15 PHP
tp5(thinkPHP5框架)时间查询操作实例分析
2019/05/29 PHP
用JavaScript显示随机图像或引用
2009/04/21 Javascript
javascript学习笔记--数字格式类型
2014/05/22 Javascript
JavaScript转换二进制编码为ASCII码的方法
2015/04/16 Javascript
javascript实现列表滚动的方法
2015/07/30 Javascript
理解js回收机制通俗易懂版
2016/02/29 Javascript
javascript正则表达式之分组概念与用法实例
2016/06/16 Javascript
浅谈时钟的生成(js手写简洁代码)
2016/08/20 Javascript
不间断循环滚动效果的实例代码(必看篇)
2016/10/08 Javascript
js浏览器html5表单验证
2016/10/17 Javascript
vue实现验证码输入框组件
2017/12/14 Javascript
javascript数组拍平方法总结
2018/01/20 Javascript
Vue-Router模式和钩子的用法
2018/02/28 Javascript
在Vue项目中引入JQuery-ui插件的讲解
2019/01/27 jQuery
jQuery中each和js中forEach的区别分析
2019/02/27 jQuery
Node Mongoose用法详解【Mongoose使用、Schema、对象、model文档等】
2020/05/13 Javascript
[50:50]完美世界DOTA2联赛PWL S3 Galaxy Racer vs Phoenix 第一场 12.10
2020/12/13 DOTA
CentOS下使用yum安装python-pip失败的完美解决方法
2017/08/16 Python
Python lambda表达式用法实例分析
2018/12/25 Python
python安装gdal的两种方法
2019/10/29 Python
Django中提示消息messages的设置方式
2019/11/15 Python
python实现音乐播放和下载小程序功能
2020/04/26 Python
Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg)
2020/06/14 Python
TripAdvisor日本:全球领先的旅游网站
2019/02/14 全球购物
在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern "C"
2014/08/09 面试题
生产车间主管岗位职责
2013/12/28 职场文书
生日邀请函范文
2014/01/13 职场文书
2014国庆节商场促销活动策划方案
2014/09/16 职场文书
2014国庆65周年领导讲话稿(3篇)
2014/09/21 职场文书
教师党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
3招让你摆脱即兴讲话冷场尴尬
2019/08/08 职场文书
五年级作文之学校的四季
2019/12/05 职场文书
《家庭教育》读后感3篇
2019/12/18 职场文书
Go获取两个时区的时间差
2022/04/20 Golang