网站建设为什么要推广,建设银行益阳市分行桃江支行网站,凯里市建设局网站,网站锚文本的内链建设#x1f3af; 学习目标#xff1a;理解字典的概念#xff0c;知道键-值对的配对关系#xff0c;学会用字典思维快速查找信息。9.1 生活中的字典#xff1a;新华字典和电话本 小红有一本新华字典和一本电话本。她发现它们有一个共同的特点#xff01; #x… 学习目标理解字典的概念知道键-值对的配对关系学会用字典思维快速查找信息。9.1 生活中的字典新华字典和电话本小红有一本新华字典和一本电话本。她发现它们有一个共同的特点 小故事字典的魔法场景1查新华字典小红想知道蝴蝶的蝴怎么写 普通方法从第一页开始翻 第1页 → 不是 第2页 → 不是 第3页 → 不是 ... 第89页 → 找到了好累啊 字典方法用拼音查 1. 蝴的拼音是 hú 2. 在拼音索引里找 H 3. 在 H 里找 hú 4. 直接翻到第89页找到了 ✨ 通过拼音直接找到汉字场景2查电话本小红想给小明打电话 普通方法从第一页开始翻 第1页 → 王大明 138... 不是 第2页 → 李小华 139... 不是 第3页 → 张小红 136... 不是 ... 第45页 → 找到了太慢了 电话本方法用姓名查 1. 找到 X 开头的部分 2. 找到 小明 3. 看到电话136-8888-8888找到了 ✨ 通过姓名直接找到电话号码发现了什么新华字典拼音 → 汉字 hú → 蝴 电话本 姓名 → 电话号码 小明 → 136-8888-8888 这就是字典的思想 通过名字键找到内容值这就是字典数据结构 小贴士 字典Dictionary 存储键-值对的容器 通过键Key快速找到值Value 就像通过姓名找电话号码9.2 字典的魔法通过名字找内容字典和数组的区别数组通过位置找储物柜 ┌────┬────┬────┬────┬────┐ │ 0 │ 1 │ 2 │ 3 │ 4 │ ← 编号位置 ├────┼────┼────┼────┼────┤ │ │ │ ⚽ │ │ │ ← 物品 └────┴────┴────┴────┴────┘ 想要取⚽ → 去 2 号柜子必须记住位置问题❓ 2号柜子里是什么要打开才知道❓ ⚽在哪个柜子要一个个找字典通过名字找有标签的储物柜 ┌─────────┬─────────┬─────────┬─────────┬─────────┐ │ 书包 │ 课本 │ 足球 │ 画笔 │ 乐器 │ ← 标签键 ├─────────┼─────────┼─────────┼─────────┼─────────┤ │ │ │ ⚽ │ │ │ ← 物品值 └─────────┴─────────┴─────────┴─────────┴─────────┘ 想要取⚽ → 找足球标签不用记位置优势✅ 通过足球直接找到 ⚽✅ 不需要记住位置✅ 看标签就知道里面是什么生活中的字典无处不在 手机通讯录 姓名 → 电话号码 爸爸 → 138-0000-0000 妈妈 → 139-0000-0000 英汉词典 英文单词 → 中文意思 apple → 苹果 book → 书 成绩单 科目 → 分数 语文 → 95 数学 → 989.3 字典的组成键名字和值内容键-值对Key-Value Pair字典里的每一条记录都是一个键-值对键Key 值Value ↓ ↓ 姓名 → 电话号码 单词 → 意思 账号 → 密码例子班级通讯录字典内容 ┌───────────────────────────┐ │ 键姓名 → 值电话 │ ├───────────────────────────┤ │ 小明 → 136-1111-1111│ │ 小红 → 137-2222-2222│ │ 小刚 → 138-3333-3333│ └───────────────────────────┘ 查询字典[小红] 137-2222-2222 通过键小红找到值137-2222-2222键的要求✅ 键必须是唯一的不能重复 正确{小明: 136..., 小红: 137...} 错误{小明: 136..., 小明: 137...} ← 有两个小明 ✅ 一个键只能对应一个值 {小明: 136-1111-1111} ← 一对一9.4 字典的超能力快速查找不用一个个翻对比数组 vs 字典任务找出小明的电话号码用数组存储50个同学的电话数组 [张三:138-1111-1111, 李四:139-2222-2222, 王五:136-3333-3333, ... 小明:137-8888-8888, ← 第45个 ... 赵六:135-9999-9999] 查找过程 检查第1个 → 不是小明 检查第2个 → 不是小明 检查第3个 → 不是小明 ... 检查第45个 → 找到了查了45次 ⏱️ 时间很慢平均要查一半用字典存储字典 { 张三: 138-1111-1111, 李四: 139-2222-2222, 王五: 136-3333-3333, ... 小明: 137-8888-8888, ... 赵六: 135-9999-9999 } 查找过程 字典[小明] → 直接找到1次 ⏱️ 时间很快直接找到字典的魔法原理想象一个超级聪明的图书管理员 你说我要《西游记》 管理员脑子里有一张神奇的地图 《西游记》 → 第3排第5列第2层 直接走过去拿给你不用一本本找 字典就是这样的 通过键直接知道值在哪里速度对比 查找50个同学中的一个 数组/列表平均要检查 25 次 字典 只要 1 次 查找1000个单词中的一个 数组/列表平均要检查 500 次 字典 只要 1 次 查找100万条数据中的一个 数组/列表平均要检查 50万 次 字典 只要 1 次 ✨ 字典越大优势越明显 扩展存储更多信息升级版通讯录 不仅存电话还存更多信息 { 小明: { 电话: 136-1111-1111, 生日: 5月10日, 地址: 阳光小区 }, 小红: { 电话: 137-2222-2222, 生日: 8月15日, 地址: 花园小区 } } 查询小明的生日 通讯录[小明][生日] 5月10日9.5 有趣的应用英语单词本单词→意思 单词本字典英语单词本 ┌──────────────────────────┐ │ 英文键 → 中文值 │ ├──────────────────────────┤ │ apple → 苹果 │ │ book → 书 │ │ cat → 猫 │ │ dog → 狗 │ └──────────────────────────┘ 使用方法查单词cat → 猫 添加新单词sun → 太阳 检查有没有学过moon → ❌ 没有9.6 【动手练习】制作自己的小字典双向字典 英文 → 中文{apple: 苹果} 中文 → 英文{苹果: apple} 这样就可以 - 看到英文查中文意思 - 看到中文查英文单词 复习小游戏游戏规则 1. 电脑随机从字典里挑一个单词 2. 显示英文让你猜中文 3. 你输入答案 4. 电脑从字典里查询正确答案 5. 对比你的答案和正确答案 例子 电脑请说出 cat 的意思 你 猫 电脑✅ 正确从字典[cat]得到猫9.7 本章小结 字典是什么┌───────────────────────────────┐ │ 字典 存储键-值对的容器 │ │ 特点 │ ✅ 通过键快速找到值 │ ✅ 键是唯一的不能重复 │ ✅ 查找速度超快 │ ✅ 可以随时添加、修改、删除 └───────────────────────────────┘ 字典 vs 其他数据结构数组 位置 → 内容 0 → 苹果 1 → 香蕉 2 → 橙子 → 用数字位置找内容 集合 {苹果, 香蕉, 橙子} → 只记录有没有不记录额外信息 字典 名字 → 内容 水果1 → 苹果 水果2 → 香蕉 水果3 → 橙子 → 用有意义的名字找内容 → 可以存储额外信息如价格 字典最擅长什么快速查找通过键直接找到值例子通讯录、词典、成绩单配对信息每个键对应一个值例子姓名→电话、单词→意思、学号→成绩分类存储用键作为分类标签例子{语文: 95, 数学: 98, 英语: 92} 什么时候用字典用字典✅需要通过名字找东西需要存储配对信息键-值需要快速查找需要给数据起有意义的名字不用字典❌只需要存一堆东西不需要配对用数组或集合需要保持严格顺序用数组只需要知道有没有用集合 字典的基本操作字典 {}空字典 1. 添加字典[键] 值 → {键: 值} 2. 查询字典[键] → 返回值 3. 修改字典[键] 新值 → {键: 新值} 4. 删除删除字典[键] → {}空了 5. 检查字典里有键吗 → ✅ 有 或 ❌ 没有 6. 大小字典有多少对 → 返回数量 字典的键和值键Key ✅ 必须唯一不能重复 ✅ 通常是字符串姓名、年龄 ✅ 也可以是数字学号、ID ❌ 不能修改一旦创建 值Value ✅ 可以是任何东西数字、文字、列表... ✅ 可以重复 ✅ 可以修改9.8 【想一想】字典和数组有什么不同 思考题存储成绩老师要存储学生的各科成绩。用数组小明的成绩[95, 98, 92] 问题 - 第1个数字是什么科目不知道 - 英语考了多少分是第2个还是第3个用字典小明的成绩{语文: 95, 数学: 98, 英语: 92} 优势 - 一眼就知道每个分数对应什么科目 - 想查英语成绩[英语] 92总结数组适合有顺序的数据、用位置表示意义 字典适合需要快速查找、需要配对信息、用名字表示意义 本章彩蛋字典的高级用途 游戏角色属性角色信息字典 { 名字: 勇者小明, 等级: 10, 生命值: 100, 魔法值: 50, 攻击力: 25, 防御力: 15, 装备: { 武器: 铁剑, 盔甲: 布衣, 饰品: 力量戒指 }, 背包: [药水, 面包, 金币x100] } 查询攻击力角色[攻击力] 25 查询武器角色[装备][武器] 铁剑 统计功能数每个字母出现几次句子apple 字母计数字典 { a: 1, p: 2, ← p出现了2次 l: 1, e: 1 } 这样就知道每个字母出现了几次 下一章预告我们已经学了集合记录有哪些不同的东西字典通过名字快速找东西但是如果我们想表示城市之间的连接关系北京→上海上海→广州…同学之间的朋友关系小明认识小红小红认识小刚…地铁站之间的线路关系1号线、2号线交叉换乘…该怎么办呢这就是下一章要学的——图Graph图能表示复杂的网络关系就像一张巨大的蜘蛛网把所有东西连接起来敬请期待 恭喜你完成了选学第二章继续加油✨