python初学23.Python特色数据类型(字典)(下)

字典的操作

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

1.dict.keys()

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

2.dict.values()

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

3.dict.items()

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

4.dict.clear()

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

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

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

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

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

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

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

8.dict.update(adict)

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

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

(重点)字典的复制:

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

你可能觉得可以这样!

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

当dict1内容改变之后

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

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

以上的称为浅复制

什么是'浅'?

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

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

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

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

你吃了一块

月饼少了一块

所以我的月饼少了一块

因为这是我们共有的月饼

所以浅复制示意图是:

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

相对应

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

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

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

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

下课

人生苦短,我选Python

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容