单元一

第3课 把例子装进盒子——列表、字典与遍历

任务场景:把样本卡装进盒子并贴上名称
任务场景:把样本卡装进盒子并贴上名称

一、任务目标

把水果样本装进列表,用字典记下“名称→标签”,为后面标注课做准备。

二、知识点短列表

  • 列表 「["苹果","香蕉"]」:有序样本集;「xs[0]」 取第一个。
  • 「len」:看有几个元素。
  • 字典 「{"苹果":"水果"}」:钥匙→值,适合名称→标签。
  • 「d["苹果"]」 读取;「d["葡萄"]="水果"」 写入。
  • 「遍历/计数循环」:按维(或按项)重复处理。 遍历;循环体要缩进。
  • 机器学习里:列表常装样本,字典常装标签本或模型。
  • 「fruits[0]」 是第一个元素;「fruits[len(fruits)-1]」 是最后一个。
  • 字典的键在同一字典里不能重复;后写入的同名键会覆盖先前的值。

三、语法精讲

列表用方括号,元素用逗号分隔。下标从 0 开始:第一个是 0,第二个是 1。写 「fruits[1]」 得到“香蕉”。若下标超出长度会报错——先 「len」 再取,或只在确认范围内的下标上取值。

字典用花括号,每一项是 「钥匙: 值」。有监督学习最常见的数据结构之一,就是“名称→标签”。读取用方括号键名;键不存在会报错,后面课会用 .get(键, 默认值) 更安全地读。

「遍历循环」 遍历把列表里每个元素依次放进循环变量。计数时常用 「n = n + 1」(或 「n = n + 1」)。注意冒号 「:」 后面另起一行并缩进 4 格——缩进错了,循环体就不属于 for。

把本课三件套与后面课对齐记:列表≈样本表的一列名称;字典≈标签本或字典模型;for≈统计标签、算正确率、归堆时“一个个看”。你现在练的不是语法游戏,而是在搭机器学习代码的货架。

易混点再强调:方括号 「[]」 是列表,花括号 「{}」 是字典;取值时列表用数字下标,字典用键名。写错括号类型,后面标注课会整页报错。

四、易错提醒

  • 下标从 0 起,不是从 1 起;「fruits[1]」 是第二个。
  • 字典键要用引号包起来的字符串(本课),别写成未定义的名字。
  • 「遍历循环」 下面忘记缩进,会 IndentationError。
  • 迷你例子:「labels["苹果"]」 → 水果。

走查:输入 「fruits = ["苹果", "香蕉", "橙子"]」 再取 「fruits[1]」 → 得到 香蕉,因为下标从 0 起,1 是第二个。输入 「labels["白菜"]」 → 得到 蔬菜,因为字典按键查找,不是按下标。

想一想:列表 「["a","b","c"]」 中,下标 2 对应哪个元素?先写下来再对照。

课堂任务卡:用列表保存 3 个水果名,用字典保存苹果→水果、白菜→蔬菜,再用 for 把 4 个样品名称数一遍。三项结果分别对应编程题 1~3 的检查点。谁在字典里写成列表、或把下标 1 当成第一个,当场重做。数据结构选对,后面标注与模型课才接得上。

选型口诀:一排例子按序号取→列表;名称立刻知标签→字典;对每个例子做同一事→for。写前先画方括号与花括号,避免用反。计数得 3 而非 4 时,先查 for 缩进是否少了一行。

要点串讲:列表按顺序装样本,下标从 0 起;字典用键取值,适合名称→标签;for 负责逐个处理,是统计与训练循环的原型。方括号与花括号不要混。本课过关标准:能手写一个三元素列表和一个两键字典,并用 for 数出列表长度以外的“业务计数”。对照口诀:列表管“有哪些例子”,字典管“例子对应什么标签”,for 管“逐个处理”——三句能背,标注课不再慌。

五、操作步骤

步骤1
建列表创建水果列表,print 列表与 len。
步骤2
建字典名称→标签,读取苹果与白菜的标签。
步骤3
写 for遍历 samples,用计数器 n 累加。
步骤4
对照检查确认 fruits、labels、n 与题目期望一致。

六、解题思路

任务:把水果样本装进列表,用字典记下“名称→标签”,为后面标注课做准备。 先想清楚:输入是什么、处理后得到什么、屏幕上应出现什么。

本课主要用到:屏幕输出。

  1. 1明确任务「把水果样本装进列表,用字典记下“名称→标签”,为后面标注课做准备。」:运行后你希望看到什么结果(文字、图形或计算结果)。
  2. 2用「打印」积木把结果说出来,确认屏幕上出现预期内容。
  3. 3对照参考积木(或代码)跑通后,只改一个参数,观察结果如何变化。

流程示意(可对照左侧文字)

任务:把水果样本装进…用「打印」积木把结果说出来,…对照参考积木(或代码)跑通后,只改一…

七、图形块功能讲解

下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。

图形块分类作用本课用法
遍历列表
控制依次取出列表中每一项并执行循环体。本课编程练习中首次使用,载入后可在工具箱对照。

即时验算:列表 ["苹果","香蕉","橙子"] 中下标 0、1、2 各是什么?字典读取白菜标签应是“蔬菜”。样品四词 for 计数后 n=4。三问口答正确再点运行。

括号口诀再念:方括号装列表,花括号装字典;取值时列表用数字下标,字典用键名字符串。写反括号的同学,用 2 分钟只改括号类型重跑,直到三类检查全绿。

八、课堂练习

先完成两道正误判断,再做其余题目;选出后点「检查」。

  1. 判断:用 fruits[1] 当“第一个”;或字典写成列表;或 for 不缩进。

  2. 判断:第一个用 [0];标签映射用字典;for s in samples: 下缩进计数。

  3. 判断:列表下标一般从 0 开始。

  4. 判断:字典适合表示“名称→标签”。

  5. 判断:「遍历循环」积木只能用于数字,不能遍历列表。

  6. 判断:求列表长度用来取第一个元素。

  7. 判断:后面的标签统计常用「遍历循环」积木。

九、知识点讲解

字典用「键 → 值」保存对应关系,如商品名对应价格。用键查找,比两个平行列表更不容易对错行;先确认键是否存在再取值。

先弄清本课输入与输出,再进编程练习对照现象。

十、编程练习

用下拉列表切换题目;下方 Mixly 默认显示图形化积木。请在 Mixly 工具栏点「运行」;「检查」读取 Mixly 代码自动判题。

参考代码(对照抄写到下方 Mixly)
# 体验:创建水果列表并打印
fruits = ["苹果", "香蕉", "橙子"]
print(fruits)
print(len(fruits))

十一、本节小结

你现在能创建列表与字典,用下标/键取值,并用 「遍历循环」 做业务计数。方括号与花括号不再用混;下标从 0 起要脱口而出。classify