本文适合阅读对象:已学完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 条评论

暂无评论

热门产品

php编程基础教程.pptx|php编程培训,php,编程,基础,教程,pptx
php编程基础教程.pptx

历史上的今天:04月29日

热门专题

外贸网站建设|外贸网站建设,英文网站制作,英文网站设计,美国主机空间,外贸建站平台,多语言网站制作
外贸网站建设
安徽中源管业|安徽中源管业,安徽中源管业mpp电力管,安徽中源管业cpvc电力管,安徽中源管业pe穿线管,安徽中源管业电力管,安徽中源管业排水管,安徽中源管业通信管,安徽中源管业管材
安徽中源管业
云南综合高中|云南综合高中
云南综合高中
国家开放大学|国家开放大学报名,国家开放大学报考,国家开放大学,什么是国家开放大学,国家开放大学学历,国家开放大学学费,国家开放大学报名条件,国家开放大学报名时间,国家开放大学学历,国家开放大学专业
国家开放大学
卓越综合高中|卓越综合高中
卓越综合高中
小程序开发|微信小程序,小程序开发,小程序,小程序制作,微信小程序开发,小程序公司,小程序开发公司,分销,三级分销系统,分销系统
小程序开发
大理科技管理学校|大理科技管理学校,大理科技,大理科技中等职业技术学校,大理科技管理中等职业技术学校,大理科技学校
大理科技管理学校
金诺幼儿园(春城路金诺幼儿园)|昆明官渡区幼儿园,幼儿园报名,官渡区幼儿园,春城路幼儿园,幼儿园招生,学前班,昆明幼儿园,金诺幼儿园,环城南路幼儿园,石井路幼儿园
金诺幼儿园(春城路金诺幼儿园)

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部