字典
1映射类型数据结构介绍
.在字典存放的每个元素都是以一对键值对。
.在python中字典通常被称为dict,键称为 key,值称为value
.字典中不可以存在相同的key,但是value可以。
2高效创建字典
空字典

image.png
字典中的元素是无序的

image.png
3dict()转换为字典
接收一个序列类型的参数,这个序列类型中的每个元素必须是成对出现的。

image.png
4,zip()并行迭代
zip() 函数可以对多个序列进行并行迭代

image.png
利用zip()函数可以对具有相同数量的元素的序列进行配对,返回的值不是元组,也不是列表,而是一个整合在一起的可迭代变量。

image.png
5.哪些数据可以作为字典的key
key通常是字符串
也可以是任意不可变类型:
布尔型 True 1 False 0
整型 100 200
浮点型 1.0 3.415
元组 (1,) (1, 2, 3)
字符串 'host_name'
关于字典的key
在 Python 内部用一个哈希表来维护字典中的 key 到 value 的映射关系。
所以 key 必须是可哈希的。
判断一个对象是否可哈希,可以使用 hash() 函数
返回一个整数,就是可哈希,反之会抛出 TypeError 异常

image.png

image.png
6.获取key对应的value

image.png

image.png
7,获取字典所有的key

image.png
8,获取字典所有的value

image.png
9同时获取字典的key和value

image.png
10.使用 = 修改或更新字典
可以使用等号对字典的key进行直接赋值操作。
假如key不存在于字典中,这个key和对应值也会被创建到字典中。

image.png
字典同样支持引用赋值

image.png
11使用update()更新字典
把一个已经存在的字典中的键值对,添加到另一个字典中。

image.png

image.png

image.png

image.png
12.删除和清空字典
删除指定的键值对

image.png
清空

image.png
pop()
从字典中删除指定key的键值对,并返回这个key对应的值

image.png
用字典实现swith....case语句
python中没有switch......case语句,这个问题python之父龟叔表示这个语法过去没有,现在没有,以后也不会有。因为python简洁的语法完全可以用if....elif实现。如果有太多的分支判断,还可以使用字典来代替。

image.png

image.png
setdefault()处理缺失的键

image.png
分类统计实列

image.png
笨方法:

image.png
好方法:

image.png

image.png