当前位置:首页>python>Python 零基础入门 |第8天:字典 dict 全解,映射存储核心容器

Python 零基础入门 |第8天:字典 dict 全解,映射存储核心容器

  • 2026-10-11 06:36:46
Python 零基础入门 |第8天:字典 dict 全解,映射存储核心容器

大家好,零基础 Python 系统教程第 8 天更新! 昨天我们掌握元组、集合两种容器,今天学习 Python 最常用的映射容器 —— 字典 dict。日常开发里存储人物信息、商品数据、通讯录全部依赖字典,本节课完整覆盖字典定义、增删改查、三种遍历方式,配套分层练习题,新手看完就能上手写存储程序。

全部代码附带逐行注释,复制即可运行,文末完整课堂源码 + 习题解析一站式打包。

一、昨日内容复盘(Day7 元组 & 集合核心)

  1. 元组 tuple () 有序、允许重复、元素不可修改;单元素必须加逗号;支持索引切片,不能增删改。
t = (10, 20,)print(t[0])# t[0] = 99  # 报错,不可变
  1. 集合 set {} 无序、自动去重、无下标;用于数据去重、交集 / 并集 / 差集运算;空集合必须用set(),{}代表空字典。
s = {1,2,2,3}print(list(s)) # 去重转列表
  1. 四大容器核心区分 列表有序可变、元组有序不可变、集合无序去重、字典键值映射存储。

二、今日学习目标

  1. 掌握字典键值对结构,牢记 key、value 使用硬性规则;
  2. 熟练字典查询、新增、修改、删除全套操作,区分各方法差异;
  3. 掌握 keys/values/items 三种遍历方式,分清适用场景;
  4. 分清字典与列表、元组、集合的选用场景;
  5. 完成学生信息、商品存储实战,课后习题巩固字典核心考点。

三、字典 dict 基础概念

字典和其他容器最大区别是键 key 与值 value 一一对应,不用下标查找,依靠 key 快速定位数据。 两条硬性规则一定要记牢:

  1. 键(key )唯一不能重复,重复定义会覆盖;只能用数字、字符串、元组这类不可变类型;
  2. 值(value)无任何限制,列表、集合甚至另一个字典都可以存进去。

定义格式 键值对结构 {key1:value1, key2:value2},空字典直接写{}。

# 基础字典student = {"name":"李四", "age":19, "gender":"男"}# 空字典empty_dict = {}# 错误:{}不是空集合# 空集合区分empty_set = set()
  1. 字典关键规则演示
  • 键 key 唯一:重复定义相同 key,后写的值覆盖前面;
  • 键只能存不可变类型:字符串、数字、元组;列表、字典不能做键;
  • 值 value 无任何限制:数字、字符串、列表、字典、集合均可;
  • Python3.7+ 字典保留插入顺序,不靠下标,依靠 key 取值。
# 重复键覆盖演示d = {"a":1, "a":99}print(d) # {'a':99}# 合法键 & 非法键演示ok_d = {(1,2):"坐标"} # 元组做键,合法# err_d = {[1,2]:"列表键"} # 列表可变,禁止作为键,报错

四、字典增删改查全套操作

1. 查询取值(两种方式)

优先用.get(),不会因为找不到键直接崩溃;

info = {"name":"小明", "score":95}# 方式1:[key],键不存在直接报错print(info["name"])# print(info["height"]) # KeyError 报错# 方式2:.get() 安全推荐,无键返回None,可自定义默认值print(info.get("height")) # Noneprint(info.get("height", 170)) # 找不到返回170

2. 新增 / 修改键值(共用语法)

dict[key]=值,不存在就新增,存在就覆盖;批量修改用update();只想新增不改动旧数据用setdefault();

person = {"name":"小红"}# 键不存在=新增person["age"] = 18# 键已存在=覆盖修改person["name"] = "小红红"# update 批量新增/修改person.update({"gender":"女", "score":92})# setdefault:只新增不修改原有值person.setdefault("age", 20) # age已存在,不变person.setdefault("class", "一班") # 不存在则新增print(person)

3. 四种删除操作

del 指定删除、pop 删除并返回值、popitem 删除最后一组、clear 清空全部。

book = {"title":"Python入门", "price":59, "author":"A"}# del 删除指定键del book["price"]# pop 删除并返回对应值res = book.pop("author")print("被删除的值:", res)# popitem 删除最后一组键值对(3.7+有序)book.popitem()# clear 清空全部键值,保留字典对象book.clear()print(book) # {}

五、字典三大遍历方式(高频考点)

  • 只取键:循环字典本身 / .keys()
  • 只取值:.values()
  • 键值一起取出:.items(),实际开发使用频率最高
stu = {"name":"张三", "age":18, "score":90}# 1. 只遍历所有键(默认遍历键)for k in stu:    print("键:", k)for k in stu.keys():    print("键:", k)# 2. 只遍历所有值for v in stu.values():    print("值:", v)# 3. 同时遍历键+值(开发最常用)for k, v in stu.items():    print(f"键{k},对应值{v}")

六、字典适用场景

存储一一对应属性:学生档案、通讯录、商品信息、程序配置参数;需要根据标识快速查找数据时优先用字典。

📖 往期历史笔记

Python 学习笔记|零基础第 1 天:Windows 系统完整安装教程 + 报错解决

Python 学习笔记| 第2天: Python Windows安装教程:VS Code 完整配置开发环境

Python零基础入门|第3天: Python变量、数据类型与输入输出

Python零基础入门| 第4天:字符串索引切片+列表完整增删改查

Python 零基础入门|第5天: for 循环与 range、break/continue

Python零基础入门|第6天: while条件循环

Python零基础入门 | 第7天: 元组、集合与循环控制,四大容器一次性理清

下一章预告

Python 零基础入门 |第9天:字符串全套操作 + 三种格式化输出实战

公众号福利 & 原创声明

✅ 回复【第8天源码】领取本章全套可运行源码 + 课后练习题

每节课都配套课后练习题与完整源码。代码报错、看不懂知识点,可在评论区粘贴问题,逐一解答!

欢迎关注梅雅达编程笔记,持续分享Python零基础学习内容

本文为梅雅达编程笔记原创零基础 Python 连载笔记

禁止私自搬运、二次转载,转发请标注来源。

最新文章

随机文章