前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python中字典中的赋值技巧,update批量更新、比较setdefault方法与等于赋值

python中字典中的赋值技巧,update批量更新、比较setdefault方法与等于赋值

作者头像
刘金玉编程
发布2019-07-27 19:54:11
5.6K0
发布2019-07-27 19:54:11
举报
文章被收录于专栏:编程创造城市编程创造城市

知识回顾:

之前这节主要学习了字典的删除,主要涉及到两个方法:

1. Pop方法:删除指定的键的键值对。需要指定一个自己已知的键,删除后返回的是键对应的值。

2. Popitem方法:删除的是最后一个键值对。在删除后,返回所删除的这个键值对。


本节知识视频

下面开始文字解说:

一、Setdefault方法

用处:保护了字典原来数据的情况下进行赋值。只在原字典中的键不存在的情况下,才会对字典新增一个键值对。如果原字典存在着某个键的情况下,那么新的数据将不会被更新到原字典中,这样有效保护了原字典的数据不受改变,只会新增。

用法一(两个参数):字典变量.setdefault(键,值)

用法二(一个参数):字典变量.setdefault(键)这里的值默认为None

那么老刘要提问了,我们该如何改变字典中原数据的值?

其实很简单,不用想得太复杂,只要直接使用字典原始的赋值方式即可。

例如:dic1["aa"]="刘金玉"

二、字典的批量更新

一个个更新字典的处理方式有时候比较慢,我们在实际项目的应用中其实更多的是对字典进行批量更新赋值。那么该如何进行批量更新呢?

我们这里举例使用字典自带的update方法进行批量更新赋值。

举例:

dic1={"aa":"老刘","bb":"老张"}

dic2={"cc":"老王","dd":"老李"}

dic1.update(dic2)

print("dic1",dic1)

结果:

dic1 {'aa': '刘金玉', 'bb': '老张', 'cc': '老王', 'dd': '老李'}

从以上的结果中我们看出来什么没有?

这里我们归纳了使用update更新字典数据注意事项:

字典的键值对特性:

1.后更新的键的值会覆盖前面已有的键对应的值。

2.新的字典数据的键如果和原来的字典的数据的键相同,那么以新的字典的数据的键对应的值作为新的键的值,更新了原有的键值对。

三、总结强调

1.掌握setdefault方法与普通字典的赋值的区别。

2.批量更新字典数据可以采用update方法,理解键值对的注意事项。

3.掌握指针赋值、浅层复制、深层复制之间区别。

4.掌握字典的声明与基本赋值、取值。

本节知识源代码:

代码语言:javascript
复制
#这是最为普通的赋值,初始化字典的时候常用这种方式dic1={"aa":"老刘","bb":"老张"}print("dic1",dic1)#如果是后期二次对字典进行加工,我们常采用setdefault# dic1.setdefault("aa1")dic1["aa"]="刘金玉"print(dic1)dic2={"bb":"老王","dd":"老李"}print("dic2",dic2)dic1.update(dic2)print("dic1",dic1)

执行结果:

代码语言:javascript
复制
dic1 {'aa': '老刘', 'bb': '老张'}{'aa': '刘金玉', 'bb': '老张'}dic2 {'bb': '老王', 'dd': '老李'}dic1 {'aa': '刘金玉', 'bb': '老王', 'dd': '老李'}
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程创造城市 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档