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

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

相关推荐
Python私教14 小时前
DRF:Django REST Framework框架介绍
后端·python·django
怎么没有名字注册了啊14 小时前
求一个矩阵中的鞍点
数据结构·算法
Greedy Alg14 小时前
LeetCode 74. 搜索二维矩阵
算法
小猪咪piggy14 小时前
【算法】day7 滑动窗口+二分查找
算法
仟千意14 小时前
数据结构:二叉树
数据结构·算法
一水鉴天15 小时前
整体设计 逻辑系统程序 之34七层网络的中台架构设计及链路对应讨论(含 CFR 规则与理 / 事代理界定)
人工智能·算法·公共逻辑
DuHz15 小时前
C程序中的数组与指针共生关系
linux·c语言·开发语言·嵌入式硬件·算法
而后笑面对15 小时前
力扣2025.10.19每日一题
算法·leetcode·职场和发展
我星期八休息15 小时前
C++智能指针全面解析:原理、使用场景与最佳实践
java·大数据·开发语言·jvm·c++·人工智能·python
·白小白15 小时前
力扣(LeetCode) ——11.盛水最多的容器(C++)
c++·算法·leetcode