数据结构之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)。

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

相关推荐
学术小李3 小时前
cudaMalloc第一个参数为何是指针的指针
算法
打工仔折腾 AI3 小时前
Prometheus接入Pushgateway实战:二进制与Docker部署、指标推送与远程写入
后端·python·docker·容器·性能优化·prometheus·ai agent 实战
kukubuzai3 小时前
二分查找系列一
数据结构·算法·leetcode
老歌老听老掉牙3 小时前
动态规划:从递归到最优决策的算法艺术
算法·动态规划
朔北之忘 Clancy4 小时前
2024 CSP-J 第二轮真题解析
c++·算法·青少年编程·noip·csp·信奥赛·noi
FYKJ_20104 小时前
springboot鲜花销售系统91056-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·mysql·django·课程设计
子非鱼eva4 小时前
ONNX模型导出实战:PyTorch 导出 ResNet18 模型
人工智能·pytorch·python·知识图谱·onnx·昇腾知识图谱
Andreapiki4 小时前
数字化审计校招技术备考指南:SQL、Python、BI、RPA学习路径
python·sql·rpa
小七在进步4 小时前
类和对象(五)
java·开发语言·算法