码迷,mamicode.com
首页 > 编程语言 > 详细

python 字典

时间:2018-07-21 19:52:35      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:item   注意   使用   src   索引   字符   ict   9.png   就是   

 

 

创建字典

字典是一些列键(key)值(value)对组成的,形式如下:

{键1:值1,键2,:值2}

每个键值对用冒号隔开,每对之间用逗号隔开

键必须是唯一的,必须是不可变的,如字符串,数字,元组

值可以是任何数据类型

 

除了直接用大括号创建字典,还可以用dict()来创建字典

用法如下:

通过放入列表套元组或者元组套列表实现

或者列表套列表 、元组套元组

还可以这样

技术分享图片

这种情况下,键只能为字符串类型,并且创建的时候字符串不用加引号

 

 

访问字典中的数据

和列表元组的索引相似,以以下形式访问键对应的值

 如果查找的键不在字典里,会报错

 

如果不确定,可以先做个检查,查查字典里是否有某个键:

使用方法:

键  in  字典

返回的是True   或者  False

 

更新字典

添加、删除、更新修改 字典中的键值对:

技术分享图片

 

 

字典的操作

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 字典

标签:item   注意   使用   src   索引   字符   ict   9.png   就是   

原文地址:https://www.cnblogs.com/wbyixx/p/9347652.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!