浅谈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 相关文章推荐
利用Celery实现Django博客PV统计功能详解
May 08 Python
python学习教程之Numpy和Pandas的使用
Sep 11 Python
Python实现简单生成验证码功能【基于random模块】
Feb 10 Python
python读取xlsx的方法
Dec 25 Python
python3实现指定目录下文件sha256及文件大小统计
Feb 25 Python
ubuntu 16.04下python版本切换的方法
Jun 14 Python
python下的opencv画矩形和文字注释的实现方法
Jul 09 Python
python命名空间(namespace)简单介绍
Aug 10 Python
在Python中字符串、列表、元组、字典之间的相互转换
Nov 15 Python
python列表推导和生成器表达式知识点总结
Jan 10 Python
Anaconda的安装及其环境变量的配置详解
Apr 22 Python
python 多线程死锁问题的解决方案
Aug 25 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/06/30 PHP
PHP CodeIgniter框架的工作原理研究
2015/03/30 PHP
P3P Header解决Cookie跨域的问题
2013/03/12 Javascript
javascript实现数字+字母验证码的简单实例
2014/02/10 Javascript
jquery实现具有收缩功能的垂直导航菜单
2016/02/16 Javascript
Javascript类型转换的规则实例解析
2016/02/23 Javascript
JavaScript实现图片滑动切换的代码示例分享
2016/03/06 Javascript
基于JavaScript实现单选框下拉菜单添加文件效果
2016/06/26 Javascript
Bootstrap Table使用方法详解
2016/08/01 Javascript
AngularJS 获取ng-repeat动态生成的ng-model值实例详解
2016/11/29 Javascript
JavaScript伪数组用法实例分析
2017/12/22 Javascript
Vue2.0仿饿了么webapp单页面应用详细步骤
2018/07/08 Javascript
vue-router动态设置页面title的实例讲解
2018/08/30 Javascript
微信小程序文章详情页面实现代码
2018/09/10 Javascript
详解js常用分割取字符串的方法
2019/05/15 Javascript
基于 vue-skeleton-webpack-plugin 的骨架屏实战
2019/08/05 Javascript
vue悬浮可拖拽悬浮按钮的实例代码
2019/08/20 Javascript
javascript Canvas动态粒子连线
2020/01/01 Javascript
JS代码检查工具ESLint介绍与使用方法
2020/02/04 Javascript
vue下拉刷新组件的开发及slot的使用详解
2020/12/23 Vue.js
JavaScript事件概念详解(区分静态注册和动态注册)
2021/02/05 Javascript
python实现k均值算法示例(k均值聚类算法)
2014/03/16 Python
Python实现将xml导入至excel
2015/11/20 Python
pandas求两个表格不相交的集合方法
2018/12/08 Python
python实现多张图片拼接成大图
2019/01/15 Python
对django的User模型和四种扩展/重写方法小结
2019/08/17 Python
Python基于内置函数type创建新类型
2020/10/22 Python
python3访问字典里的值实例方法
2020/11/18 Python
详解CSS3 rem(设置字体大小) 教程
2017/11/21 HTML / CSS
香港演唱会订票网站:StubHub香港
2019/10/10 全球购物
如何提高JDBC的性能
2013/04/30 面试题
南京软件公司的.net程序员笔试题
2014/08/31 面试题
银行党员批评与自我批评
2014/10/15 职场文书
写景作文评语集锦
2014/12/25 职场文书
储备店长岗位职责
2015/04/14 职场文书
三严三实·严以修身心得体会
2016/01/15 职场文书