第九课:数据的“篮子” – 列表 (List)
- 时长: 90 分钟
- 教学目标:
- 理解“列表”的概念:一种可以存放多个数据,并且数据可以按顺序排列的数据结构。
- 学会创建列表
[]
。 - 掌握如何通过位置编号(索引)访问、修改列表里的元素(与字符串索引类似)。
- 学习向列表中添加元素 (
.append()
,.insert()
)。 - 学习从列表中删除元素 (
.remove()
,.pop()
)。 - 学会获取列表的长度 (
len()
)。 - 复习如何使用
for
循环遍历列表里的每一个元素。
课程内容
1. 复习与引入 (10 分钟)
- 复习: 复习变量、数据类型、字符串、基本的循环和条件判断。
- 提出问题: 老师提问:“如果我想记住我们班所有同学的名字怎么办?一个一个存到不同的变量里 (
student1 = "小明"
,student2 = "小红"
) 会不会太麻烦了?如果同学很多或者名字经常变怎么办?如果我想记住我今天去超市要买的所有东西:牛奶、面包、鸡蛋,怎么在一个地方把它们记下来?” - 引出列表: 这时候,我们就需要一个可以放很多东西,并且能记住它们的顺序的“篮子”或者“容器”。在 Python 里,这个“篮子”就叫做列表 (List)。
2. 创建和查看列表 (15 分钟)
- 概念: 列表是一个有序的集合,可以存放任意类型的数据(数字、文字、甚至是其他列表)。列表里的数据叫做元素。
-
创建语法: 使用方括号
[]
来创建列表,不同的元素之间用逗号,
分隔。# 创建一个空的列表 empty_list = [] # 创建一个存放名字的列表 (都是字符串) names = ["小明", "小红", "小刚", "小丽"] # 创建一个存放数字的列表 (都是整数) scores = [85, 92, 78, 95, 88] # 列表里可以存放不同类型的数据 my_list = ["apple", 123, True, 3.14] # 打印列表 print(names) print(scores) print(my_list)
- 获取长度 –
len()
: 和字符串一样,可以使用len()
函数获取列表里有多少个元素。print(len(names)) # 结果是 4 print(len(empty_list)) # 结果是 0
- 动手实践: 学生创建几个自己的列表,存放同学名字、喜欢的数字、去超市要买的东西等,并打印列表和列表的长度。
3. 访问和修改列表元素 – 索引 (15 分钟)
- 概念: 列表里的每一个元素也都有一个位置编号,叫做索引,和字符串一样,索引从 0 开始!
-
访问元素: 使用方括号
[]
和索引号来获取特定位置的元素。names = ["小明", "小红", "小刚", "小丽"] print(names[0]) # 获取第一个元素 '小明' print(names[1]) # 获取第二个元素 '小红' print(names[3]) # 获取第四个元素 '小丽' # print(names[4]) # 错误!索引超出了范围 # 也可以使用负数索引 print(names[-1]) # 获取最后一个元素 '小丽' print(names[-2]) # 获取倒数第二个元素 '小刚'
- 修改元素: 通过索引,我们可以修改列表里特定位置的元素。
scores = [85, 92, 78, 95, 88] print("修改前:", scores) scores[2] = 80 # 把第三个元素 (索引为2) 从 78 改成 80 print("修改后:", scores)
- 动手实践: 学生尝试访问列表里的不同元素,尝试修改列表里的某个元素。
4. 往列表里加东西 (添加元素) (10 分钟)
.append()
: 在列表的末尾添加一个新的元素。fruits = ["apple", "banana"] print("添加前:", fruits) fruits.append("cherry") # 在末尾添加 'cherry' print("添加后:", fruits) # 结果是 ['apple', 'banana', 'cherry']
.insert(索引, 元素)
: 在指定的索引位置插入一个新的元素,原来这个位置及后面的元素都会往后移。names = ["小明", "小红", "小丽"] print("插入前:", names) names.insert(2, "小刚") # 在索引 2 的位置插入 '小刚' print("插入后:", names) # 结果是 ['小明', '小红', '小刚', '小丽']
- 动手实践: 学生创建一个空列表,然后用
.append()
往里面添加几个元素。 创建一个有元素的列表,然后用.insert()
在中间或开头插入一个元素。
5. 从列表里拿掉东西 (删除元素) (10 分钟)
.remove(元素值)
: 删除列表中第一个出现的指定值的元素。tasks = ["吃饭", "睡觉", "打豆豆", "吃饭"] print("删除前:", tasks) tasks.remove("吃饭") # 删除第一个 '吃饭' print("删除后:", tasks) # 结果是 ['睡觉', '打豆豆', '吃饭'] # 如果要删除的元素不存在,会报错 # tasks.remove("学习") # 错误!
.pop(索引)
: 删除并返回指定索引位置的元素。如果不指定索引,默认删除并返回最后一个元素。scores = [85, 92, 78, 95, 88] print("弹出前:", scores) last_score = scores.pop() # 删除并获取最后一个元素 print("弹出的分数:", last_score) # 结果是 88 print("弹出后:", scores) # 结果是 [85, 92, 78, 95] first_score = scores.pop(0) # 删除并获取索引 0 的元素 print("弹出的分数:", first_score) # 结果是 85 print("弹出后:", scores) # 结果是 [92, 78, 95]
- 动手实践: 学生创建列表,尝试使用
.remove()
删除某个元素。 尝试使用.pop()
删除最后一个或指定位置的元素。
6. 遍历列表 – for 循环复习 (10 分钟)
- 概念: 列表是序列,所以我们可以使用
for
循环方便地遍历列表里的每一个元素。 -
语法:
my_list = ["apple", "banana", "cherry"] for item in my_list: print("我喜欢", item) # 输出会是: # 我喜欢 apple # 我喜欢 banana # 我喜欢 cherry
- 结合索引遍历: 如果在遍历的同时需要知道元素的索引,可以使用
range(len(列表))
和索引来访问。names = ["小明", "小红", "小刚"] for i in range(len(names)): print("第", i+1, "个同学是", names[i]) # 输出会是: # 第 1 个同学是 小明 # 第 2 个同学是 小红 # 第 3 个同学是 小刚
- 动手实践: 学生使用
for
循环遍历自己创建的列表,打印每个元素。
7. 课堂练习 (10 分钟)
让学生独立完成以下练习:
- 练习 1: 创建一个列表,存放你喜欢的 5 种动物的名字。然后打印出列表的长度,并使用
for
循环逐个打印出列表里的动物名字。# 在这里写你的代码 animals = ["狗", "猫", ...] # TODO: 打印列表长度 # TODO: 使用 for 循环遍历并打印
- 练习 2: 创建一个数字列表,比如
[10, 25, 8, 19, 30]
。向列表中添加一个新数字12
。删除列表中的数字25
。然后打印修改后的列表。 - 练习 3: 创建一个列表,存放你一天要做的事情,比如
["起床", "吃早饭", "上学", "学习", "玩耍", "睡觉"]
。打印出第一件事和最后一件事。删除倒数第二件事(玩耍)。然后打印修改后的列表。
8. 总结与提问 (5 分钟)
- 回顾: 回顾本节课内容:列表的概念(有序集合),创建列表
[]
,访问/修改列表元素(索引从 0 开始),添加元素 (.append()
,.insert()
),删除元素 (.remove()
,.pop()
),获取长度 (len()
),以及如何用for
循环遍历列表。 - 提问:
- 列表和字符串有什么相似的地方?有什么不同的地方?
- 如何获取列表
my_list = [10, 20, 30]
中的数字 20? - 如何往列表
fruits = ["apple", "banana"]
的末尾添加 “orange”? - 如何删除列表
nums = [1, 2, 3, 2]
中的第一个数字 2?
- 答疑: 回答学生问题。
9. 布置课后作业 (5 分钟)
- 作业 1: 创建一个列表,存放 6 个你同学或家人的名字。使用
for
循环遍历列表,在打印每个名字前加上“你好,”。 - 作业 2: 创建一个数字列表,存放一些考试分数。计算并打印出这些分数的总和。(提示:在循环外部初始化一个总和变量,在循环内部将每个分数累加到总和变量里)。
- 作业 3: 编写一个程序,询问用户输入 5 个他喜欢的城市名字,将这些名字存储在一个列表中。然后打印出列表中的第一个城市和最后一个城市,并使用
for
循环遍历列表,将每个城市名字转换为大写后打印出来。 - 作业 4: (选做) 编写一个简单的待办事项列表程序。创建一个空的待办事项列表。使用
while
循环和input()
,让用户可以选择添加待办事项、查看待办事项、标记完成(从列表中删除)或退出。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)