浅谈Python列表嵌套字典转化的问题
作者:spigirl 发布时间:2023-12-11 10:37:43
在看视频教程的时候提到了[{'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))
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
来源:https://blog.csdn.net/qq_37264632/article/details/88981618


猜你喜欢
- 废话不多说了,直接给大家贴代码了,代码写的不好还去各位大侠见谅。#-*-coding:utf-8-*- #1、字典dict = {'
- 前面提到了银行转账这个场景,展示了一个比较耗时的转账操作。这篇继续转帐,下面展示一段程序,多个线程的操作都更改了amount变量导致运行结果
- 第一步:创建django项目打开终端,切换到期望所写项目的地址:cd python3_django_projects;输入命令:django
- IT行业,技术要比学历、年龄、从业经验更为重要,技术水平直接决定就业薪资,想要学好python,首先要先了解精通Python语言基础、Pyt
- 首先确定你要爬取的目标网站的表单提交方式,可以通过开发者工具看到。这里推荐使用chrome。这里我用163邮箱为例打开工具后再Network
- 元素的CSS样式,除了包括内联的(即通过style属性加上的)样式定义外,还有页面嵌入的css和外部引入的css两种方式。但在JS中通过el
- 原因:list 获得的数据为空: 显示值为 [ ]不同的判断--- is None----not两者结果不一样分析:总之:not 判断的是内
- 最近有一个需求:将日志以json格式输出, 并且有些字段是logging模块没有的.看了很多源码和资料, 终于搞定, 抽取精华分享出来, 一
- 一、变量1.变量Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在 Python 中,变量就是变
- 配置环境:redhat6.5server1:redis(172.25.254.1)server2:php(172.25.254.2)serv
- 基于以下三个原因,我们选择Python作为实现机器学习算法的编程语言:(1) Python的语法清晰;(2) 易于操作纯文本文件;(3) 使
- 可变参数可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如def testArg(*arg)你可以传入任意多个元
- write()方法把字符串str写入文件。没有返回值。由于缓冲,字符串可能不实际显示文件,直到flush()或close()方法
- $("select").change(function(){ var n = $(t
- 本文实例为大家分享了python3实现多张图片附件邮件发送的具体代码,供大家参考,具体内容如下直接上代码,没有注释!from email.m
- 请教:如何在现存的文档中动态嵌入一段JS?如果是一段CSS呢?创建一个<script></script>并在scri
- 本文实例讲述了Python使用scrapy采集数据过程中放回下载过大页面的方法。分享给大家供大家参考。具体分析如下:添加以下代码到setti
- 本文向大家分享23种JavaScript提高执行效率的小技巧、最佳实践等非常实用的内容。当然JavaScript的实用技巧不止这些,还有很多
- C#调用python脚本在平常工程项目开发过程中常常会涉及到机器学习、深度学习算法方面的开发任务,但是受限于程序设计语言本身的应用特点,该类
- Python用input输入列表的方法使用input输入数据时,使用逗号隔开列表的每一项,再使用ast.literal_eval()方法转成