新闻详情

新闻详情

首页 / 资讯中心 / 详情

Python 字典入门教学:用「点名册」理解键值对

发布时间:2026/9/30 6:37:13来源:尧图网络
Python 字典入门教学:用「点名册」理解键值对
为什么用「点名册」来讲字典初学 Python 的学生对列表很熟悉因为列表有下标names[0]、names[1]按顺序数就行。但一遇到字典问题就来了——很多孩子会写成d[0]然后报KeyError因为他们下意识觉得取数据总要有个编号。字典的核心是用有意义的名字去取数据而不是用位置。这一点用「点名册」类比最自然老师手里那本册子查一个人的信息靠的是姓名学号不是第几行。一句话对照表先给学生点名册Python 字典姓名键 key这个人的成绩、电话值 value整本册子字典本身完整代码下面这段可以直接运行建议让学生先跑一遍看输出再回来读讲解。# 点名册姓名 - 分数score_book{小明:92,小红:88,小刚:76,}# 1. 按姓名取分数print(score_book[小明])# 92# 2. 新增一条记录score_book[小丽]95print(score_book)# 3. 修改已有记录score_book[小刚]80print(score_book[小刚])# 80# 4. 安全查询不确定名字在不在册子里print(score_book.get(小强))# Noneprint(score_book.get(小强,0))# 0给一个默认值# 5. 遍历整本册子forname,scoreinscore_book.items():print(f{name}的分数是{score})# 6. 只遍历姓名 / 只遍历分数print(list(score_book.keys()))print(list(score_book.values()))# 7. 判断某个名字是否在册if小明inscore_book:print(小明在册)# 8. 删除一条记录delscore_book[小红]print(score_book)代码要点拆解1. 大括号 冒号。字典用{}包起来每一项写成键: 值项与项之间用逗号隔开。要提醒学生冒号是键和值的分界线写错成等号或不写都会直接语法报错。2. 取值用方括号里面放键。score_book[小明]返回的是92不是小明。这里学生最容易搞反以为方括号里放的是位置。3.get()和[]的区别。这是本课最重要的一个点。score_book[小强]会直接让程序崩溃KeyError而score_book.get(小强)返回None不报错。可以这样跟学生说[]是你确定这个人一定在册直接翻到那一页get()是你不确定先问一句有没有这个人没有就返回空。get()的第二个参数是默认值get(小强, 0)表示没这个人就当作 0 分。做统计题时非常常用。4.items()返回键值对。for name, score in score_book.items()一次拿到名字和分数两个变量这是遍历字典最常用的写法。如果只写for x in score_book拿到的其实是键姓名不是值这一点也要讲清楚。5. 键必须是不可变类型。字符串、数字、元组可以当键列表不行。原因很简单键要能稳定地定位列表可以随时改内容不适合当门牌号。讲到这里可以顺带复习一下列表和元组的区别。学生常见错误错误一用下标取字典。score_book{小明:92}print(score_book[0])# KeyError错因是把列表的习惯带过来了。纠正方式强调字典没有第几个的概念键是什么就写什么。错误二键名拼错或大小写不一致。score_book{XiaoMing:92}print(score_book[xiaoming])# KeyErrorPython 是区分大小写的。这类错误不报语法错只在运行时报KeyError学生往往找不到原因。建议在课堂上演示一次让他们记住报错信息长什么样。错误三get()忘了接收返回值。score_book.get(小强,0)print(score_book[小强])# 仍然 KeyErrorget()只是返回默认值它不会把这条记录写进字典。如果真想加进去得显式赋值score_book[小强]score_book.get(小强,0)10错误四遍历时拿到的是键却当成值用。forxinscore_book:print(x1)# 报错x 是字符串键 改成 forxinscore_book.values(): 才是遍历值。## 可以留的练习1.建一个字典存5位同学的姓名和年龄打印出年龄最大的那位同学的名字。2.2.统计一段字符串中每个字符出现的次数例如 hello 得到 {h:1,e:1,l:2,o:1}。提示先判断字符在不在字典里不在就设为0再累加。3.3.把两个列表 names[小明,小红] 和 scores[92,88] 合并成一个字典。提示用 zip() 或循环配合下标。4.4.给定一本分数册删除所有低于60分的记录。提示遍历的时候不要直接删先把要删的键存到列表里再统一删——这是很多学生会踩的坑可以让他们先踩一次再讲。## 小结字典的设计目的就是用名字找东西。判断一个学生是否真的理解了看他会不会在不确定键是否存在时主动用 get()而不是盲目用 []。写代码时把这个人一定在册吗这个问题问出来字典就算入门了。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

尺度分级感知耦合物理与思想实验| 赵杰 | 量子感知论 2026/9/30 7:34:16

尺度分级感知耦合物理与思想实验| 赵杰 | 量子感知论

作者:赵杰,清华大学硕士、微美全息云科技(NASDAQ:WIMI)董事长、微算法科技(NASDAQ:MLGO)董事长、育杰奖学金创始人人类物理体系百年最大悖论始终存在:微观量子世界服从叠…

阅读更多 →
深度学习大模型全链路实战:从单卡微调、量化压缩到vLLM推理部署 2026/9/30 7:34:16

深度学习大模型全链路实战:从单卡微调、量化压缩到vLLM推理部署

简介:这份文档面向具备一定深度学习基础的研发人员、数据科学家与技术爱好者,系统梳理大模型从构建到部署的全链路开发路径,帮助读者打通环境搭建、数据处理、模型选择与训练、评估优化直至最终上线的完整流程,解决实际项目中落地…

阅读更多 →
突发!字节内部大调整,QA 直接转研发了? 2026/9/30 7:34:16

突发!字节内部大调整,QA 直接转研发了?

1. 引言 最近,字节跳动内部的一则消息在技术圈炸开了锅——QA(质量保障)团队要直接转研发了? 消息一出,有人拍手叫好,有人焦虑不安。这到底是谣传,还是字节真的在下一盘大棋?今天我们…

阅读更多 →
AI 泡沫规模达互联网泡沫17倍,实测6款主流大模型 API 成本横评:谁在裸泳,谁在真降价? 2026/9/30 7:34:16

AI 泡沫规模达互联网泡沫17倍,实测6款主流大模型 API 成本横评:谁在裸泳,谁在真降价?

本文不讨论"AI 会不会崩盘"这种大词,只算一笔开发者最关心的账:在"AI 泡沫规模达互联网泡沫 17 倍"的背景下,主流大模型 API 到底涨了还是降了?我们该怎么选?这篇横评主要是用AiPy来做的&#xff…

阅读更多 →
Java后端WebUploader分块上传完整解析:接收合并与断点续传 2026/9/30 7:34:02

Java后端WebUploader分块上传完整解析:接收合并与断点续传

大文件上传这件事,很多Java后端开发第一次遇到"分块"这个概念,多半是在某个文件上传接口被运维找上门的时候——要么是用户传了个几百MB的视频,中间断一次网就全部重来;要么是Nginx直接返回413,前端疯狂报错…

阅读更多 →
Python+TensorFlow卷积神经网络实战:猫狗识别从70%到97%准确率 2026/9/30 7:34:02

Python+TensorFlow卷积神经网络实战:猫狗识别从70%到97%准确率

简介:这份资源面向深度学习入门者与计算机视觉初学者,围绕TensorFlow卷积神经网络实现猫狗图像二分类这一经典任务展开,帮助读者打通从数据读取到模型测试的完整流程。压缩包内共1个PDF文件,约78KB,以图文讲解形式呈现…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉