核心数据结构之字典

字典

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

你可能感兴趣的:(核心数据结构之字典)