当前位置: 首页 > news >正文

4️⃣字典(dict)速查表

📋 常用方法

方法用法示例说明
创建字典d = {'a': 1, 'b': 2}初始化字典
添加/更新元素d['c'] = 3添加或更新键值
获取元素d['a']访问键对应的值,key不存在会报错
安全获取元素d.get('x', default)key不存在返回默认值
判断键是否存在'a' in d返回 True/False
删除键d.pop('a')删除键并返回对应值
获取所有键d.keys()返回所有键
获取所有值d.values()返回所有值
获取所有键值对d.items()返回所有 (key, value) 对
清空字典d.clear()删除所有键值

📝Python 字典简介

Python 内置了强大的字典(dict)数据结构,也称为映射(map),它以“键-值”(key-value)对的形式存储数据,拥有极快的查找速度。它广泛应用于需要快速访问和存储数据的场景。


⚡为什么 dict 查找速度快?

普通的列表(list)查找需要遍历所有元素,时间复杂度随元素增多线性增长。而 dict 通过哈希算法,能直接计算出键对应的存储位置,查找速度几乎不随数据量变化。

举例对比:

names = ['Michael', 'Bob', 'Tracy']
scores = [95, 75, 85]
# 查找“Bob”的成绩,需要先找到名字索引,再取对应分数,时间复杂度O(n)

而用 dict:

d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
print(d['Bob'])  # 直接访问,时间复杂度接近O(1)

💡dict 的特点与使用建议

特点dictlist
查找速度极快,几乎不随数据量变化线性增长,数据越多越慢
内存占用较大,因为需要额外存储哈希表较小
顺序Python 3.7+ 保持插入顺序固定顺序
key 类型限制必须是不可变类型(字符串、整数等)元素可以是任意类型

⚠️注意事项

  • key 必须是不可变类型,否则会报 TypeError(如 list 不能做 key)。
  • dict 使用哈希算法存储,依赖 key 的 hash 值,确保同一个 key 一直对应同一个位置。
  • Python 3.7 以后,dict 保持插入顺序,但逻辑上不依赖顺序。
http://www.dtcms.com/a/294001.html

相关文章:

  • I2C控制器
  • 传统RNN模型笔记:输入数据长度变化的结构解析
  • 通用图片 OCR 到 Word API 数据接口
  • 数据结构自学Day13 -- 快速排序--“前后指针法”
  • 显微科研中的关键选择:不同显微镜相机技术特性与应用适配性全面解析
  • SpringCloudGateWay 使用nacos网关自动负载均衡
  • nrm指南
  • Sklearn 机器学习 线性回归
  • 解决sparksql创建出来的数据库路径错误的问题
  • Docker Desktop 打包Unity WebGL 程序,在Docker 中运行Unity WebGL 程序
  • Unity国际版下载链接分享(非c1国内版)
  • Java面试题035:一文深入了解Docker
  • SQL基础⑧ | 表格篇
  • Android插件化实现方案深度分析
  • 智能小e-外联系统文档
  • CentOS 7 Linux 用 yum 安装 Docker,含 Docker 镜像无法拉取问题(即 docker pull 失败)的解决方案
  • 基于LNMP分布式个人云存储
  • 深入理解 Java Builder 设计模式:解决构造函数爆炸问题
  • 旧系统UI焕新陷阱:保留业务习惯与引入新交互的平衡点把控
  • JNPF组织权限,让企业权限体系更清晰高效​
  • TARA分析学习
  • 亚远景-传统功能安全VS AI安全:ISO 8800填补的标准空白与实施难点
  • Django 入门详解:从零开始构建你的第一个 Web 应用
  • YOLOv5模型剪枝实战教程
  • 从8h到40min的极致并行优化:Spark小数据集UDTF处理的深度实践与原理剖析
  • 分布式系统中的缓存设计与应用
  • 前端实现可编辑脑图的方案
  • 一洽客服系统:小程序接入功能说明
  • 关于单片机的无符号整型uint32_x
  • 代码随想录算法训练营第五十二天|图论part3