五、字典(Dictionary)学习笔记

五、字典(Dictionary)学习笔记

2026-02-19
Python基础
type
Post
status
Published
date
Feb 19, 2026
slug
python-data-structures-dictionary-notes-5
summary
Python 的字典,记录一下重点和容易混淆的地方。
tags
Python数据存储容器
category
Python基础
icon
password

字典(Dictionary)学习笔记

今天学习 Python 的字典,记录一下重点和容易混淆的地方。

一、什么是字典?

1.1 我的理解

字典就是键值对的集合,像查字典一样,通过"键"找到对应的"值"。

1.2 为什么要学字典?

问题:用列表存学生信息,查找很麻烦
解决:用字典,直接通过名字查找
字典的优势
  • 查找快:通过键直接定位,不用遍历
  • 语义清晰:students["张三"]students[0] 好懂
  • 结构灵活:值可以是任意类型

二、字典的特点

2.1 特点总结

特点
说明
注意点
键唯一
同一个键只能出现一次
重复赋值会覆盖前面的
键不可变
键必须是字符串、数字、元组
不能用列表、字典做键
值任意
值可以是任何类型
列表、字典都可以
无序
没有固定顺序(3.7+ 保持插入顺序)
不要依赖顺序
可变
可以增删改
和列表一样可变

2.2 字典 vs 列表 vs 集合

对比
字典
列表
集合
语法
{"a": 1}
[1, 2, 3]
{1, 2, 3}
访问方式
通过键 dict["key"]
通过索引 list[0]
无法直接访问
查找速度
O(1) - 快
O(n) - 慢(要遍历)
O(1) - 快
适用场景
通过名称查找
有序序列
去重、集合运算
我的理解
  • 知道位置用列表(第几个元素)
  • 知道名字用字典(键名)
  • 只需要判断有无用集合

2.3 字典的内存结构

字典内存结构示意图

三、创建字典

3.1 花括号创建(最常用)

3.2 dict() 函数创建

3.3 容易犯的错误


四、字典的基本操作

4.1 增删改查方法表

操作
代码
说明
添加/修改
dict[key] = value
键存在就修改,不存在就添加
访问
dict[key]
键不存在会报错 KeyError
安全访问
dict.get(key, default)
键不存在返回 None 或默认值
删除
del dict[key]
删除指定键值对
弹出
dict.pop(key)
删除并返回该键的值
清空
dict.clear()
清空所有内容

4.2 访问和修改

4.3 删除操作

4.4 成员检测

4.5 其他常用方法


五、字典的遍历

5.1 四种遍历方式

字典遍历流程图

5.2 实际应用:成绩统计


六、字典推导式

6.1 基本语法

6.2 带条件的推导式


七、实际应用案例

7.1 字符频率统计

7.2 学生信息管理系统

学生信息管理系统数据结构

7.3 单词频率统计

7.4 配置文件管理


八、遇到的问题和解决

问题1:KeyError 是什么?

现象:访问不存在的键报错
解决:用 get() 方法或先判断 in

问题2:怎么修改嵌套字典?

现象:字典的值也是字典,不知道怎么修改
解决:逐层访问

问题3:遍历字典时想同时拿到键和值?

解决:用 items()

问题4:为什么修改拷贝后的字典会影响原字典?

现象:用 copy() 后修改嵌套内容,原字典也变了
原因:copy() 是浅拷贝,只拷贝了引用,嵌套的可变对象还是共享的 解决:需要深拷贝(暂时先了解,后续学习)

九、知识点回顾

9.1 核心概念

  • 字典是键值对的集合
  • 键必须唯一不可变
  • 通过键查找值,速度

9.2 常用操作

  • dict[key] = value - 添加/修改
  • dict[key] / dict.get(key) - 访问
  • del dict[key] / dict.pop(key) - 删除
  • for k, v in dict.items() - 遍历
  • dict.update() - 合并
  • dict.keys() / dict.values() / dict.items() - 获取键/值/键值对

9.3 使用场景

  • 需要通过名称快速查找数据
  • 存储结构化数据(如学生信息、配置)
  • 需要动态增删改查
  • 数据统计(词频、成绩统计等)

有时候会想过去那些没有 AI 的人,是如何一步步学习、摸索、构建自己的知识体系的。那一定很难,也很漫长。很多问题没有即时答案,很多方向只能靠自己反复试错,在不确定中前行。而现在,我有 AI 作为老师。它不会疲倦,也不会厌烦,可以随时回答问题,陪我拆解复杂的概念,帮我验证想法,甚至推动我继续往前走。从某种意义上来说,这确实是属于我们这一代的一种幸运。想到这里,还是会忍不住笑一下。尤其是对于旁边根本没有老师的情况下.简直就是给我们每个人配了个私教.
推荐云服务

雨云 - 云服务器首选

稳定 · 高速 · 性价比超高

使用优惠码立享折扣,开启你的云端之旅~

一元试用秒级开通24h在线客服

优惠码

zqf
立即访问
Loading...
灵心小窝

灵心小窝

这里不是一个喧闹的地方,只是用来存放一些还不想遗忘的东西。

声明 © 2026 早清风
加载中...