Python从零开始系列连载(23)——Python特色数据类型(字典)(下)

浏览: 4563

前言

前文传送门:

Python从零开始系列连载(1)——安装环境

Python从零开始系列连载(2)——jupyter的常用操作(上)

Python从零开始系列连载(3)——jupyter的常用操作(中)

Python从零开始系列连载(4)——jupyter的常用操作(下)

Python从零开始系列连载(5)——Python的基本数据类型(上)

Python从零开始系列连载(6)——Python的基本数据类型(中)

Python从零开始系列连载(7)——Python的基本数据类型(中二)

Python从零开始系列连载(8)——Python的基本数据类型(下)

Python从零开始系列连载(9)——Python的基本运算和表达式(上)

Python从零开始系列连载(10)——Python的基本运算和表达式(中)

Python从零开始系列连载(11)——Python的基本运算和表达式(中二)

Python从零开始系列连载(12)——Python的基本运算和表达式(下)

Python从零开始系列连载(13)——Python程序的基本控制流程(上)

Python从零开始系列连载(14)——Python程序的基本控制流程(中) 

Python从零开始系列连载(15)——Python程序的基本控制流程(中二)

Python从零开始系列连载(16)——Python程序的基本控制流程(下)

Python从零开始系列连载(17)——Python特色数据类型(列表)(上)

Python从零开始系列连载(18)——Python特色数据类型(列表)(中)

Python从零开始系列连载(19)——Python特色数据类型(列表)(下)

Python从零开始系列连载(20)——Python特色数据类型(元组)(上)

Python从零开始系列连载(21)——Python特色数据类型(元组)(下)

Python从零开始系列连载(22)——Python特色数据类型(字典)(上)


(划重点:这篇我不发表情,我是认真的!)

字典的操作


字典提供了很多方法对字典操作:


1.dict.keys()


作用:返回包含字典所有key的列表


Clipboard Image.png


2.dict.values()


作用:返回包含字典所有value的列表


Clipboard Image.png


3.dict.items()


作用:返回包含所有(键,值)项的列表


Clipboard Image.png


4.dict.clear()


作用:删除字典中的所有项或元素,无返回值(注意,不是删除字典,而是清空字典内容)


Clipboard Image.png


5.dict.get(key , default=None)


作用:返回字典中key对应的值,若key不存在,则返回default的值(default默认为None)


Clipboard Image.png


6.dict.pop(key [,default])


作用:如果字典中存在key,则删除并返回key对应的value;如果key不存在,且没有给出default值,则引发KeyError异常


Clipboard Image.png


7.dict.setdefault(key , default = None)


作用:如果字典不存在key,则由dict[key] = default为其赋值


Clipboard Image.png


8.dict.update(adict) 


作用:将字典adict中键值对添加到dict中


Clipboard Image.png


遍历字典只需要遍历它的键:


Clipboard Image.png


(重点)字典的复制:


当我们需要复制一份同样的字典,怎么操作呢?


你可能觉得可以这样!


Clipboard Image.png


直接用赋值符号,将dict1赋值给dict3

当dict1内容改变之后

发现dict3的内容也改变了!!!!


可是我想要的是买一份和他一样的月饼,他的月饼吃完了,我的月饼也不能消失啊


以上的称为浅复制


什么是'浅'?


可以这样理解,‘浅’指的是,复制的只是一个引用,还记得我们之前说的id()么


Clipboard Image.png


id( ) 的作用是找到变量或常量在内存中存的位置,发现dict1和dict3的id一样

所以得出他们虽然是两个变量,但是变量的值是同一个

也就是说,桌上有一盒月饼,可以说是我的,也可以说是你的

你吃了一块

月饼少了一块

所以我的月饼少了一块

因为这是我们共有的月饼


所以浅复制示意图是:


Clipboard Image.png


不同的变量名指向了同一个内存区域块


相对应

在字典中,深拷贝可以用引入copy模块实现


Clipboard Image.png

Clipboard Image.png


这就实现了深拷贝!每人都有一份各自的月饼


今天作业是自己跟着操作一遍~

自己不敲代码永远学不会写代码


下课


人生苦短,我选Python

未完待续,连载中......

现在还坚持再看连载学习的你们真的很棒棒!

入门部分已经学完大部分啦!加油

(划重点:这篇我不发表情,我是认真的!)

首尾呼应的修辞手法


下一篇:Python从零开始系列连载(24)——Python特色数据类型(集合)(上)

推荐 7
本文由 ID王大伟 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

5 个评论

写的很好
谢谢~
总结的很好啊
谢谢支持
写的真好,作为刚入门的我,很适用,感谢大伟老师,就是不知道近来还有没有在更新啦

要回复文章请先登录注册