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

 更新时间:2021年04月07日 14:26:48   作者:spigirl  
这篇文章主要介绍了浅谈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
  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))

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

相关文章

  • 9行Python3代码实现批量提取PDF文件的指定内容

    9行Python3代码实现批量提取PDF文件的指定内容

    这篇文章主要为大家详细介绍了如何通过9行Python3代码实现批量提取PDF文件的指定内容,文中的示例代码讲解详细,感兴趣的小伙伴可以尝试一下
    2022-12-12
  • Python socket非阻塞模块应用示例

    Python socket非阻塞模块应用示例

    这篇文章主要介绍了Python socket非阻塞模块,结合实例形式分析了Python socket非阻塞模块通信相关操作技巧,需要的朋友可以参考下
    2019-09-09
  • python批量制作雷达图的实现方法

    python批量制作雷达图的实现方法

    本文通过实例代码介绍了如何用python批量制作雷达图的实现方法,下面一起来看看如何实现的。
    2016-07-07
  • Flask web开发处理POST请求实现(登录案例)

    Flask web开发处理POST请求实现(登录案例)

    这篇文章主要介绍了Flask web开发处理POST请求实现(登录案例),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • 简单了解django处理跨域请求最佳解决方案

    简单了解django处理跨域请求最佳解决方案

    这篇文章主要介绍了简单了解django处理跨域请求最佳解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • python匿名函数的实例用法

    python匿名函数的实例用法

    在本篇文章里小编给大家整理了一篇关于python匿名函数的实例用法,有兴趣的朋友们可以学习参考下。
    2021-03-03
  • Python装饰器泛化公有和私有属性作用详解

    Python装饰器泛化公有和私有属性作用详解

    这篇文章主要为大家介绍了Python装饰器泛化公有和私有属性作用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • 一步步教你用Python画五彩气球

    一步步教你用Python画五彩气球

    这篇文章主要给大家介绍了关于如何用Python画五彩气球的相关资料,主要是用turtle库自带的画笔turtle.Turtle()来绘制气球,文中给出了详细的实例代码,需要的朋友可以参考下
    2023-06-06
  • Django中使用Celery的方法步骤

    Django中使用Celery的方法步骤

    这篇文章主要介绍了Django中使用Celery,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Scrapy之迭代爬取网页中失效问题及解决

    Scrapy之迭代爬取网页中失效问题及解决

    这篇文章主要介绍了Scrapy之迭代爬取网页中失效问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12

最新评论