- ⏳ 课程时长: 90 分钟
- 🎯 教学目标:
- 🔑 理解键值对:字典的核心秘密 (Key-Value)。
- 🏗️ 创建字典:使用花括号
{}。 - 🔍 精准查找:通过“名字”找“内容”。
- 🛠️ 增删改:管理字典里的数据。
- 🆚 字典 vs 列表:知道什么时候用哪个。
📖 课程内容
1. 🤔 引入:超市的条形码 (10 分钟)
去超市买东西,收银员扫一下条形码(Key),电脑屏幕上就显示出价格(Value)。 收银员不需要知道“可乐”在数据库的第几行,只要有条码就能找到价格。
字典就是这样一个“超级查询机”:
- 键 (Key):条形码/名字 (必须唯一,不能重复)。
- 值 (Value):价格/内容 (可以是任何东西)。
2. 🏗️ 建造查询机:创建字典 (15 分钟)
列表用方括号 [],字典用花括号 {}。
里面的东西是一对一对的,中间用冒号 : 连起来。
-
💻 示例:英雄图鉴
# 这是一个空字典 empty_book = {} # 这是一个英雄图鉴 # 名字(Key) : 攻击力(Value) heroes = { "钢铁侠": 99, "绿巨人": 100, "蜘蛛侠": 85 } print(heroes)
3. 🔍 瞬间移动:查找数据 (15 分钟)
在列表里找东西要数索引 list[0],在字典里,直接叫名字!
-
📜 语法:
字典名[键]print("绿巨人的攻击力是:") print(heroes["绿巨人"]) # 输出 100 # 还可以拿来计算 combo = heroes["钢铁侠"] + heroes["蜘蛛侠"] print(f"钢铁侠和蜘蛛侠合体攻击力: {combo}") -
⚠️ 崩溃警告 (KeyError): 如果你查找一个不存在的名字(比如
heroes["灭霸"]),程序会直接报错崩溃! 这就好比你在字典里查一个不存在的字。
4. 🛠️ 只有管理员能做:增、删、改 (25 分钟)
字典是动态的,我们可以随时修改它。
-
➕ 新增 (Add) & 🔄 修改 (Update): 这两种操作的写法一模一样!
- 如果这个键不存在 -> 新增。
- 如果这个键已存在 -> 修改(覆盖旧的)。
# 新增 heroes["雷神"] = 95 print("雷神加入了!", heroes) # 修改 (绿巨人变强了) heroes["绿巨人"] = 110 print("绿巨人升级了!", heroes) -
🗑️ 删除 (Delete): 使用
del指令。# 蜘蛛侠退出了 del heroes["蜘蛛侠"] print(heroes)
5. 🕵️♂️ 安全检查:in 关键字 (10 分钟)
为了防止报错(KeyError),在查字典之前,最好先问问“你在吗?”
-
语法:
if 键 in 字典:query = input("你想查谁的攻击力?") if query in heroes: print(f"{query} 的攻击力是 {heroes[query]}") else: print("查无此人!")
6. ✨ 多元化场景实战 (10 分钟)
场景 A:📞 通讯录
contacts = {
"妈妈": "13800000001",
"爸爸": "13900000002",
"老师": "13700000003"
}
print("正在拨打给妈妈...", contacts["妈妈"])
场景 B:🌍 简易翻译器
en_to_cn = {
"apple": "苹果",
"book": "书",
"cat": "猫"
}
word = "apple"
print(f"{word} 的中文是 {en_to_cn[word]}")
场景 C:🎮 游戏角色属性 (高级) 值 (Value) 也可以是一个列表!
player = {
"名字": "龙傲天",
"等级": 10,
"装备": ["屠龙刀", "布衣", "草鞋"] # 这是一个列表
}
print(f"玩家 {player['名字']} 拿着 {player['装备'][0]}")
💪 课堂大练兵 (5 分钟)
- 🍔 餐厅菜单:
创建一个字典
menu,包含三个菜名和价格(比如 汉堡:20, 薯条:10, 可乐:5)。- 打印出汉堡的价格。
- 虽然物价上涨,把薯条的价格改成 12。
- 新增一个菜品 “冰激凌”: 8。
- 打印整个菜单。
📝 课程总结 (5 分钟)
| 特性 | 列表 List [] |
字典 Dict {} |
|---|---|---|
| 查找方式 | 用数字索引 (0, 1…) | 用键 (Key) |
| 是否有序 | 有序 (排排坐) | 3.7版本后有序,主要是为了查找 |
| 适用场景 | 存一堆同类的东西 (全班分数) | 存关联的东西 (名字对应分数) |
🏠 课后作业 (5 分钟)
-
🗳️ 投票计数器: 我们要统计 “猫派” 和 “狗派” 的人数。 创建一个字典
votes = {"猫": 0, "狗": 0}。 让用户输入 “猫” 或 “狗” (输入 ‘end’ 结束)。 每输入一次,对应的数字就 +1。 最后打印结果。 -
📱 智能电话本 (完整版): 做一个循环程序:
- 输入 1:查询电话 (输入人名,显示号码)。
- 输入 2:添加电话 (输入人名和号码)。
- 输入 3:退出。
(记得用
if ... in ...防止查询报错)
-
🔢 数字翻译机 (选做): 创建一个字典,把
0-9映射成中文"零" - "九"。 让用户输入一个数字(比如 “15”),程序把它翻译成中文 “一五”。 (提示:遍历输入的字符串,一个个去字典里查)
下节课预告: 我们的程序现在只能在那个黑黑的窗口(控制台)里运行。 是不是觉得不够酷? 下节课,我们将开始接触 Python 更有趣的扩展库,我们要去“画画”了!🎨 我们将学习 Turtle (海龟绘图),用代码画出彩色的几何图形!🐢✨
下次见,数据管理员们!👋

评论(0)