浅谈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(一)Python环境安装
Aug 20 Python
浅谈python import引入不同路径下的模块
Jul 11 Python
在Python中实现shuffle给列表洗牌
Nov 08 Python
Python实现多进程的四种方式
Feb 22 Python
python实现飞机大战游戏
Oct 26 Python
10 行Python 代码实现 AI 目标检测技术【推荐】
Jun 14 Python
pycharm中显示CSS提示的知识点总结
Jul 29 Python
浅析python中while循环和for循环
Nov 19 Python
Python垃圾回收机制三种实现方法
Apr 27 Python
python网络编程之五子棋游戏
May 14 Python
基于Python脚本实现邮件报警功能
May 20 Python
Github 使用python对copilot做些简单使用测试
Apr 14 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模板技术原理【一】
2008/01/10 PHP
使用laravel指定日志文件记录任意日志
2019/10/17 PHP
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
js 动态给元素添加、移除事件的实现方法
2016/07/19 Javascript
AngularJS教程之MVC体系结构详解
2016/08/16 Javascript
JavaScript 数组的深度复制解析
2016/11/02 Javascript
深入理解Javascript中的作用域链和闭包
2017/04/25 Javascript
nodejs简单访问及操作mysql数据库的方法示例
2018/03/15 NodeJs
在vue中多次调用同一个定义全局变量的实例
2018/09/25 Javascript
React.js组件实现拖拽排序组件功能过程解析
2020/04/27 Javascript
Node.js 深度调试方法解析
2020/07/28 Javascript
详解vue-cli项目在IE浏览器打开报错解决方法
2020/12/10 Vue.js
vite2.0+vue3移动端项目实战详解
2021/03/03 Vue.js
python获取beautifulphoto随机某图片代码实例
2013/12/18 Python
跟老齐学Python之复习if语句
2014/10/02 Python
python简单判断序列是否为空的方法
2015/06/30 Python
Python操作Excel插入删除行的方法
2018/12/10 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
2019/08/05 Python
Python龙贝格法求积分实例
2020/02/29 Python
TripAdvisor瑞典:全球领先的旅游网站
2017/12/11 全球购物
新西兰第一的行李箱网站:luggage.co.nz
2019/07/22 全球购物
新西兰最大的连锁超市:Countdown
2020/06/04 全球购物
C语言变量的命名规则都有哪些
2013/12/27 面试题
会计与审计毕业生自荐信范文
2013/12/30 职场文书
上课说话检讨书大全
2014/01/22 职场文书
大学生个人自荐信
2014/02/24 职场文书
行政助理工作职责范本
2014/03/04 职场文书
文化与传播毕业生求职信
2014/03/09 职场文书
大学新学期计划书
2014/04/28 职场文书
2014国庆节标语口号
2014/09/19 职场文书
鸟的天堂导游词
2015/01/31 职场文书
2016应届毕业生就业指导课心得体会
2016/01/15 职场文书
2016教师六五普法学习心得体会
2016/01/21 职场文书
将Python代码打包成.exe可执行文件的完整步骤
2021/05/12 Python
idea以任意顺序debug多线程程序的具体用法
2021/08/30 Java/Android
解决linux下redis数据库overcommit_memory问题
2022/02/24 Redis