本文适合阅读对象:已学完Python基础课程,并能熟练使用Python基本用法编程。如果还有一些其他语言的基础最好不过了,如果没有Python基础或者正在学习中,请点击以下链接:

Python基础教程

一、合并字典

Python中经常使用字典作为底层数据结构来表示数据,因此时常会遇到需要将字典合并的情况。大家一起看个例子,假设有下面两个字典:

xs = {'a':1, 'b':2}

ys = {'b':3, 'd':4}

现在要创建一个新的字典zs,合并包含xs和ys中的所有键和值。这里面还需要考虑如何处理重复键的冲突问题。

在Python中合并多个字典常用的办法是字典内置的update()方法:

zs = {}

zs.update(xs)

zs.update(ys)

print(zs)

Python代码结果如下:

由上面结果可以看出,合并生成了一个新字典zs,并且由于字典要求键值唯一,如果存在键值冲突,调用update()函数的顺序决定了冲突的解决,新字典总是以最后更新的字典中的值为准。

二、实现深层键值替换

前面讲了深层排序如何实现,那么接着大家可能会想到一个问题,如果应用场景是需要替换深层的键值,该怎么解决呢?事实上,在实际项目开发中是会遇到这个问题的,当然大家可以写个for - in 循环,然后进行替换,再将原来的键值删掉,但是这样不够优美,Python提供了pop() 函数,用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。

tuples=[{1:{'a':1}},{1:{'a':3}},{1:{'a':2}}]

print(tuples)

for i in range(len(tuples)):

      tuples[i][1]['b']  = tuples[i][1].pop('a')

print(tuples)

Python代码结果如下所示,实现了深层键值的替换:

三、序列化字典

有一种方法能直观方便地将字典转换成可读结果,即使用json.dumps()将字典格式化为标准的json格式:

import json

data =  { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } 

data1= json.dumps(data, indent=12, sort_keys = True)

print(data1)

Python代码结果如下:


点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

热门产品

历史上的今天:03月29日

热门专题

安徽开放大学|安徽开放大学报名,安徽开放大学报考,安徽开放大学,什么是安徽开放大学,安徽开放大学学历,安徽开放大学学费,安徽开放大学报名条件,安徽开放大学报名时间,安徽开放大学学历,安徽开放大学专业
安徽开放大学
安徽中源管业有限公司|安徽中源管业有限公司,安徽中源管业有限公司介绍,安徽中源管业有限公司电话,安徽中源管业有限公司地址,安徽中源管业有限公司厂家,安徽中源管业有限公司电力管,安徽中源管业有限公司管材
安徽中源管业有限公司
综合高中|云南综合高中,昆明综合高中,综合高中能考本一吗,综合高中和普通高中的区别,综合高中是什么意思,综合高中能参加全国统一高考吗,综合高中可以考哪些大学,综合高中的学籍是什么
综合高中
易捷尔高职单招|易捷尔高职单招,易捷尔高职单招培训,单招分数线,单招录取分数线,高职单招学校分数线
易捷尔高职单招
自考本科|自考本科有用吗,自考文凭,自考本科文凭,自考文凭有用吗,自考本科文凭有用吗,自考文凭承认吗
自考本科
云南网站建设|云南网站制作,网站建设,云南网站开发,云南网站设计,云南网页设计,云南网站建设公司,云南网站建设
云南网站建设
小程序开发|微信小程序,小程序开发,小程序,小程序制作,微信小程序开发,小程序公司,小程序开发公司,分销,三级分销系统,分销系统
小程序开发
云南巨榕教育投资集团有限公司|云南巨榕教育投资集团有限公司,巨榕教育集团,巨榕教育
云南巨榕教育投资集团有限公司

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部