字典的使用1| 学习笔记

简介: 快速学习字典的使用1

开发者学堂课程【Python Web 开发基础字典的使用1】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/600/detail/8716


字典的使用1


内容简介:

(一)创建字典

(二)“len”获取键值对数量

(三)in和not in

(四)根据键,获取值

(五)修改字典


(一)创建字典

介绍一下字典的操作,以官方文档为准,可以参考官网文档,因为离线文档有时会乱码,点击 Python3,然后找到 Library Reference,然后找到4.Built-in Types,我们的字典在这个4.10 Mapping Types(映射类型)—dict,直接点进来,下面就有他的说明。也可以看离线版的,找 Python3.6,我们找到离线版的,也是一样的在 Standard Library 里找 Mapping Types—dict。

接下来,首先创建一个新的文件:12.字典的使用.py。先从创建开始说起,使用大括号,语法是{k1∶v1,k2:v2,k3∶v3},键与值之间用冒号隔开,多个项之间用逗号隔开,这是键值对的结构,这是之前演示过的第一种方式。我们还可以使用 dict()函数来创建字典,第一种方式我们直接先写 d=dict(name='孙悟空',age='18',gender='男'),

直接 print(d,type(d)),保存执行就会出现,实际上我们就是给这个字典函数传了多个参数,每一个参数都是一个键值对,参数名就是键,参数名就是值(这种方式创建的字典,key 都是字符串)。

还有一个方式,我们可以将一个包含有双值子序列的序列转换为字典,双值序列就是序列中只有两个值,比如[1,2],('a',3),'ab'。如果序列中的元素也是序列,那么我们就称这个元素为子序列,比如[(1,2),(3,4)]。这个列表里放了两个元组,也就是说,在序列内部的序列叫子序列,子序列里面只有两个值就叫双值子序列。如果一个序列中所有的元素都是双值子序列,我们就可以把这个列表转换为字典,写 d=dict([('name','孙悟饭'),('age',18)]),这是一个双值子序列,我们就可以把它转换为字典,一个是 key、一个是 value,在这里 name是 key、孙悟饭就是 value,执行之后,可以看到这是一个,这就是也可以通过 dict 将一个包含双值子序列的序列转换成一个列表,这个一般情况用的比较少。


(二)“len”获取键值对数量

接下来就跟序列有点像了,叫做“len()”可以获取字典中项的个数,也就是键值对的个数。print(len(d)),执行之后是“2”。


(三)in 和 not in

“in”是用来检查字典中是否包含指定的键,“not in”是检查字典中是否不包含指定的键,这两个正好相反。比如 print('name' in d)检查的结果是“True”,如果输入 hello,检查 d 当中有没有 hello 这个键,结果是 False 就证明没有。


(四)根据键,获取值

获取字典里的值,需要根据键来获取。语法是 d[key],直接 print(d['name']),注意这里的'name'一定要加引号,因为这个键就是带引号的,如果不加引号,比如 print(d[age]),执行后就会报错,因为这里的 age 如果不加引号,他就会当成一个变量处理。比如说设置一个变量 n='name',直接print(d[n]),取的是 key 为 name 的值,执行出来的是孙悟空,这时不能加引号,否则会报错。

通过[]来获取值时,如果键不存在,会抛出异常 KeyError。还有一种方式获取字典里的值,就是 get(key[,default]),这个方法要通过字典对象来调,,根据键获取字典中的值。print(d.get('name'))执行出来也是孙悟空,这两种方式基本是一样的。get 这种方式看起来有点麻烦,但是如果获取的键在字典中不存在,会返回 none,比如 print(d.get('hello')),执行出来不会报错,中括号查询不到就会报错。

并且 get 还有一个可选参数 default,如果我们 print(d.get('name','默认值'))执行出来是孙悟空,但如果我们 print(d.get('hello')),执行就会是默认值,也可以指定一个默认值作为第二个参数,这样获取不到值时,将会返回默认值。


(五)修改字典

修改字典的语法是 d[key]=value,如果 key 存在则覆盖,不存在则添加。比如 d['name']='sunwukong',然后print(d)即可,所以可以直接通过 key 修改字典。

还有一种方式就是比如输入 d['address']='花果山',刚才字典中没有 address,但是可以看到执行出来加上了 address,所以一种是修改字典的 key-value,一种是向字典中添加 key-value。

setdefault,set 是设置,default 是默认,setdefault(key[,default])也可以用来向字典中添加 key-value,如果 key 已经存在于字典中,则返回 key 的值,不会对字典做任何操作;如果 key 不存在,则向字典中添加这个 key,并设置 value。比如 d.setdefault('name','猪八戒')然后 print(d)发现 name 没有变成猪八戒;而输入 result=d.setdefault('name','猪八戒'),print('result=',result),因为“name”存在,所以会返回“sunwukong”,如果换为 result=d.setdefault('hello','猪八戒'),再 print 就会出现默认值“猪八戒”。

update,可将其他字典中的 key-value 添加到当前字典中。输入d={'a':1,'b':2,'c'=3},d2={'d':4,'e':5,'f'=6},然后 d.update(d2),print(d),执行后会是包含这两个字典的键值对。但如果,d2={'d':4,'e':5,'f'=6,'a':7},最后 d 里面的 a 就被 d2替换掉变成7了。

相关文章
|
11月前
|
存储 索引 Python
12.从入门到精通:Python字典,创建字典,访问字典的值,修改字典,删除字典,字典键的特性,字典内置函数和方法
12.从入门到精通:Python字典,创建字典,访问字典的值,修改字典,删除字典,字典键的特性,字典内置函数和方法
|
11月前
|
算法 Python 容器
字典的相关应用
字典的相关应用
46 0
|
11月前
|
算法 Python
Python编程 字典创建
Python编程 字典创建
68 0
|
索引 Python
【Python编程】六、字典与集合
【Python编程】六、字典与集合
84 0
使用内置字典
使用内置字典
51 0
|
数据格式 Docker 容器
准备字典数据
准备字典数据
93 0
内置字典配置说明
内置字典配置说明
93 0
|
C++ 开发者 Python
字典的练习|学习笔记
快速学习字典的练习
72 0
|
存储 开发者 Python
字典的练习2|学习笔记
快速学习字典的练习2
67 0
|
开发者 Python
字典推导式|学习笔记
快速学习字典推导式
87 0