Python基础(六)——字典

本文以Python3以上为学习基础。

目录

1、字典格式详解

2、创建字典

3、修改字典的内容。

4、访问字典(dict)的值

5、字典的基本操作。

6、字典函数(方法)——copy:拷贝

7、字典函数(方法)——clear:清空字典中所有元素

8、字典函数(方法)——del:将字典删除

9、字典函数(方法)——get:得到字典中某个键的值

10、字典函数(方法)——setdefault:得到字典中某个键的值。

11、字典函数(方法)——pop:删除某个键值对。

12、字典函数(方法)——popitems:删除某个键值对。

13、字典函数(方法)——update:更新字典的内容。

14、字典函数(方法)——has_key:判断字典中是否存在某个键(Python3 已经删除这个方法了。)


字典(dict)其实就是大括号({})括起来的内容。

1、字典格式详解

在一个字典中,键是唯一的,不能重复。值则是对应于键,值可以重复

键值之间用(:)英文的冒号,每一对键值之间用英文的逗号(,)隔开。

说白了:一个键对应一个值,一个值可以对应多个键。

2、创建字典

方法一:先创建空字典,随后在里面加入内容。

方法二:创建有内容的字典

方法三:利用元组在建构字典。

方法如下:

3、修改字典的内容。

空字典添加内容: 

有内容的字典修改内容:

4、访问字典(dict)的值

方法:通过字典的“键”找到相应的“值”。

5、字典的基本操作。

  • len(d),返回字典(d)中的键值对的数量
  • d[key],返回字典(d)中的键(key)的值
  • d[key]=value,将值(value)赋给字典(d)中的键(key)
  • del d[key],删除字典(d)的键(key)项(将该键值对删除)
  • key in d,检查字典(d)中是否含有键为key的项

(1)len():返回字典(d)中的键值对的数量

(2)d[key]:返回字典(d)中的键(key)的值

(3)d[key]=value:将值(value)赋给字典(d)中的键(key)

(4)del d[key]:删除字典(d)的键(key)项(将该键值对删除)

(5)key in d:检查字典(d)中是否含有键为key的项

6、字典函数(方法)——copy:拷贝

为什么要有copy函数?

特别注意:对象有类型,变量无类型,正是因着这句话,变量其实是一个标签。

我们通过 id() 查看对象在内存中的位置。

可以看到,在内存中的位置一模一样。

相同的原理,字典的赋值依旧是一样的现象。

这个就是所谓的:假装拷贝。

下面我们看看copy()。

很明显:copy()是为新的对象在内存中分配了空间。

这里提一句,python中的深浅拷贝问题

 看看下面的现象:

第一步:In[181]:我通过copy函数把tmp拷贝给tmp1。

第二步:In[182]:利用remove()函数把字典tmp1的键'a'的值中的2给移除出去。

第三步:In[183]:我们查看字典tmp之内。发现它还是发生了改变。

这是为什么???

这就是python的深浅拷贝问题了。

具体请参照博客:python的深浅拷贝详解。

7、字典函数(方法)——clear:清空字典中所有元素

清空以后字典就是空字典了。

8、字典函数(方法)——del:将字典删除

注意是将字典删除,从内存中删除。不是清空。

删除以后字典直接存储空间都没了

9、字典函数(方法)——get:得到字典中某个键的值

注意:如果键不存在返回None。

正常取值情况:

例如下面例子:tmp.get('b') 和 tmp['b'] 是一样的。

如果键不存在,get() 返回Node

例如下面例子:tmp.get('zxc') 返回None;tmp['zxc'] 报错。

10、字典函数(方法)——setdefault:得到字典中某个键的值。

和get()类似, 如果键不存在于字典中,将会添加键并将值设为默认值(None)。

 如果找的值不存在呢?

 在没有键的情况下,默认添加到字典中,设置对应的值是None。

11、字典函数(方法)——pop:删除某个键值对。

以字典的键为参数,删除指定键的键值对。结果的返回值是要删除键所对应的值。

如果是参数是键值对中的值。就会报错:

如果参数省略:

就会发生上述错误。

12、字典函数(方法)——popitems:删除某个键值对。

注意:不写参数。但是会随机删除一个键值对。因为字典是没有顺序的,所以是随机删除一个键值对。 

 

如果写参数:

 就会报错。

如果删除空字典呢?

就会提示字典是空的。出现对应错误。

13、字典函数(方法)——update:更新字典的内容。

这个函数没有返回值,或者说返回值是None,它的作用就是更新字典。

其参数可以是字典或者某种可迭代的数据类型。

 

 字典tmp 更新入了 tmp1 那个字典,于是 tmp 中就多了一些内容,把 tmp1 的内容包含进来了。

tmp1当然还存在,并没有受到影响。

还有另一种更新方法:

这里有个知识点:列表的元组是键值对。

14、字典函数(方法)——has_key:判断字典中是否存在某个键(Python3 已经删除这个方法了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值