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

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

相关推荐
2401_858286112 分钟前
E47.【C语言】零散的练习题(1)
c语言·数据结构·算法·指针
凯子坚持 c2 分钟前
深度解析之算法之分治(快排)
算法·leetcode·职场和发展
mutianhao10242 小时前
SQLAlchemy 2.x 异步查询方法比较
python·mysql·sqlalchemy
✿ ༺ ོIT技术༻2 小时前
笔试强训:Day2
开发语言·c++·笔记·算法
Jackson@ML3 小时前
如何快速高效学习Python?
开发语言·python
飞桨PaddlePaddle4 小时前
Wan2.1和HunyuanVideo文生视频模型算法解析与功能体验丨前沿多模态模型开发与应用实战第六期
人工智能·算法·百度·音视频·paddlepaddle·飞桨·deepseek
UFIT4 小时前
Python函数与模块笔记
开发语言·python
言之。4 小时前
别学了,打会王者吧
java·python·mysql·容器·spark·php·html5
Starry_hello world5 小时前
C++ 快速幂算法
c++·算法·有问必答
YiSLWLL5 小时前
使用Tauri 2.3.1+Leptos 0.7.8开发桌面小程序汇总
python·rust·sqlite·matplotlib·visual studio code