数据结构之dict类

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)。

这就又涉及时间复杂度和空间复杂度的计算问题了,你可还记得算法量度?

相关推荐
春日见16 小时前
控制算法:PID算法
linux·运维·服务器·人工智能·驱动开发·算法·机器人
二哈喇子!16 小时前
PyTorch 生态与昇腾平台适配实践
人工智能·pytorch·python
Maỿbe16 小时前
常见的垃圾收集算法
java·jvm·算法
这里是彪彪16 小时前
Java模拟实现定时器
java·开发语言·python
怎么追摩羯座16 小时前
使用PyCharm调用Ollama,制作智能问答机器人
ide·python·pycharm·大模型·ollama
珂朵莉MM16 小时前
2025年睿抗机器人开发者大赛CAIP-编程技能赛-本科组(国赛)解题报告 | 珂学家
java·人工智能·算法·机器人·无人机
怎么追摩羯座16 小时前
win安装使用PyCharm
ide·python·pycharm
w-w0w-w16 小时前
C++中vector的操作和简单实现
开发语言·数据结构·c++
半路_出家ren16 小时前
17.python爬虫基础,基于正则表达式的爬虫,基于BeautifulSoup的爬虫
网络·爬虫·python·网络协议·正则表达式·网络爬虫·beautifulsoup
l1t16 小时前
郭其先生利用DeepSeek实现的PostgreSQL递归CTE实现DFS写法
sql·算法·postgresql·深度优先