dict类
dict 是字典类。什么是字典(Dictionary)呢?就是一个可以通过索引找到对象的数据类型。在Python 的dict类里,索引就是“键”,对象也叫“值”,二者合起来就叫“键值对”。每个“键值对”之间用逗号(,)隔开,每个“键”和“值”之间用冒号(:)隔开,“键”与“值”之间一 一对应。
dict的賦値
输出结果
注意
“键”是不可变的,因此其类型只能是 int 型、str 型、tuple 型和bool 型等;而“值”是可以随意改变的,也就意味着它可以是任意的数据类型。
2. Python中dict的知识点
dict 绝对算是 Python 中最常用的数据类型了,从检索的逻辑到方法,从元素添加到修改,无不体现出了暴力美学。
输出结果
小知识
字典还有fromkeys()、update()等很多十分实用的内置方法,字典还有一个好的特性,就是检索字典的效率非常快,像列表、元组根本不能和它相比,因为字典是一对一检索的,也就是时间复杂度为O(1)。相比之下,列表的时间复杂度则更复杂一些,如下表所示。
操作 | 操作说明 | 时间复杂度 | 注 释 |
---|---|---|---|
index(value) | 查询索引 | O(1) | |
append(value) | 队尾添加 | O(1) | |
pop() | 删除并返回最后的元素 | O(1) | |
pop(index) | 根据索引删除某个元素 | O(n) | 后面的元素需要前移 |
insert(index,value) | 根据索引插入某个元素 | O(n) | |
reverse | 列表反转 | O(n) | |
sort | 列表排序 | O(n log n) |
注意
字典的copy()和 iteration()的时间复杂度为O(n)。
这就又涉及时间复杂度和空间复杂度的计算问题了,你可还记得算法量度?