- ⏳ 课程时长: 90 分钟
- 🎯 教学目标:
- 📦 认识列表:理解怎么在一个变量里存一堆东西。
- 📍 索引访问:如何从箱子里把东西取出来。
- ➕ 添加元素:学会
.append()往箱子里塞东西。 - 🔄 修改与删除:换掉坏的东西,扔掉不要的东西。
- 🚶 遍历列表:结合
for循环,一个个处理箱子里的宝物。
📖 课程内容
1. 🤔 引入:冒险者的背包 (10 分钟)
想象一下,你是一个要去屠龙的勇士。🗡️ 你手里只能拿一把剑(普通变量)。 但你还需要盾牌、药水、地图、食物… 手里拿不下怎么办? 你需要一个背包!🎒
在 Python 里,列表 (List) 就是这个背包。
2. 🎒 打造背包:创建列表 (15 分钟)
-
📜 语法规则: 使用 方括号
[],里面的东西用 逗号,隔开。 -
💻 代码示例:
# 1. 空背包 bag = [] # 2. 装满宝物的背包 (字符串列表) items = ["圣剑", "盾牌", "红药水", "魔法书"] # 3. 混合背包 (什么都能装!) player_info = ["勇者小明", 12, 99.5, True] # (名字, 等级, 攻击力, 是否存活)
3. 📍 拿出宝物:索引与切片 (15 分钟)
这部分和我们学过的字符串一模一样! 记得口诀吗?从 0 开始数!
# 索引: 0 1 2 3
items = ["圣剑", "盾牌", "红药水", "魔法书"]
print(items[0]) # 拿出第 1 个:圣剑
print(items[2]) # 拿出第 3 个:红药水
print(items[-1]) # 拿出最后 1 个:魔法书
# 切片 (包头不包尾)
print(items[1:3]) # 拿出中间的:['盾牌', '红药水']
4. 🛠️ 整理背包:增、删、改 (25 分钟)
列表最厉害的地方在于,它是可以改变的!
-
➕ 添加 (Append): 在背包的最后面塞进一个新东西。
print("捡到一个金币!") items.append("金币") print(items) # 输出: ['圣剑', '盾牌', '红药水', '魔法书', '金币'] -
🔄 修改 (Change): 把某个位置的东西换掉。
print("把'红药水'换成了'蓝药水'...") items[2] = "蓝药水" # 索引 2 原来是红药水 print(items) -
🗑️ 删除 (Remove): 把不想要的东西扔掉。
print("盾牌坏了,扔掉!") items.remove("盾牌") # 指定名字删除 print(items)
5. 🚶 盘点库存:列表与循环 (15 分钟)
如果背包里有 100 个东西,怎么一个个拿出来看?
for 循环是列表的最佳搭档!
-
语法:
for 物品 in 列表:print("--- 🎒 目前的背包清单 ---") for item in items: print(f"我有: {item}") print("--- 盘点结束 ---")电脑会自动把列表里的东西,一个接一个地赋值给
item变量,直到取完为止。
6. ✨ 多元化场景实战 (10 分钟)
场景 A:🥗 甚至能点菜
foods = [] # 空菜单
print("请点 3 道菜:")
for i in range(3):
dish = input(f"第 {i+1} 道菜想吃什么?")
foods.append(dish) # 加入列表
print("你点的菜单是:", foods)
场景 B:📊 成绩分析师
scores = [90, 85, 100, 70, 95]
total = 0
# 算出总分
for s in scores:
total = total + s
print(f"总分是: {total}")
# 还可以用 len() 算出个数
print(f"平均分是: {total / len(scores)}")
💪 课堂大练兵 (10 分钟)
-
🦸 英雄战队: 创建一个列表
heroes = ["钢铁侠", "蜘蛛侠"]。- 使用
.append()加入 “雷神”。 - 使用
print打印出战队的队长 (列表第一个人)。
- 使用
-
🚫 敏感词过滤: 有一个列表
words = ["你好", "笨蛋", "再见"]。 使用for循环检查。如果发现 “笨蛋”,就把它改成 “*“。 最后打印修改后的列表。 (提示:这题有点难,可以用索引遍历range(len(words))来修改)*
📝 课程总结 (5 分钟)
- 列表
[]:能装很多数据的超级容器。 - 索引:
list[0]访问,和字符串一样。 .append():往屁股后面加东西(最常用!)。.remove():按名字删除。- 遍历:用
for循环一个个处理列表里的数据。
🏠 课后作业 (5 分钟)
-
🛒 购物车清单: 写一个程序,一直询问用户 “你想买什么?(输入 quit 退出)”。
- 用户输入东西,就
.append()到列表。 - 用户输入 quit,就停止循环,并打印出所有买到的东西。
- 用户输入东西,就
-
🔢 最大数挑战: 有一个列表
nums = [12, 45, 2, 99, 50]。 请编写一个循环,找出里面最大的数字,并打印出来。 (不要直接用max()函数,试着自己写逻辑!) -
🔀 列表反转 (选做): 不使用切片
[::-1],试着把列表[1, 2, 3]变成[3, 2, 1]。 (提示:可以创建一个新列表,然后倒着读旧列表,塞进新列表里)
下节课预告: 现在我们有了背包(列表),也有了技能(函数)。 但是,上一节课留了个尾巴:函数算出来的结果,怎么拿回来给主程序用呢?(比如算出平均分后,还要拿去评级)。 下节课,我们将揭开函数最核心的秘密——“回旋镖:返回值 (Return)”!🔙🎯
下次见,收藏家们!👋

评论(0)