第5 单元
混合的队伍. 
——列表
Gxpzw.indd 51 2023/5/11 15:37:39

跟我学 Python 一级教学辅导 
5.1 知识点定位
青少年编程能力等级Python 一级中的核心知识点5:列表类型。
5.2 能 力 要 求
掌握并熟练编写带有列表类型的程序,具备解决一组数据处理基本问题的
能力。
5.3 建议教学时长
本单元建议3 课时。
5.4 教 学 目 标
1.知识目标
本单元以列表类型学习为主,通过联系生活案例,让学生理解列表的概念
及创建方法,列表元素的索引及访问,了解列表元素的控制方法,为后续循序
Gxpzw.indd 52 2023/5/11 15:37:43 

第5单元 混合的队伍——列表
渐进地学习程序编写打好基础。
2.能力目标
通过对Python 列表类型的学习,学会借助列表类型来解决现实中的问题,
锻炼学习者从计算机的角度去思考问题,培养计算思维能力。
3.素养目标
具有一定信息素养,能够合理运用计算机去解决其他课程中的问题,增强
社会主义核心价值观的认识,增强学习者的爱国主义情怀。
5.5 知 识 结 构
本单元的知识结构如图5-1 所示。
图5-1 列表的知识结构
Gxpzw.indd 53 2023/5/11 15:37:49 

跟我学Python一级教学辅导
5.6 课程补充知识点
1.Python列表元素的遍历
列表的遍历主要通过for-in 语句实现。
格式1 如下:
for <任意变量名> in <列表名>: 
<语句块> 
格式2 如下:
for <任意变量名> in enumerate(<列表名>): 
<语句块> 
注:enumerate(sequence, [start=0]),返回枚举对象
参数
. Sequence——一个序列、迭代器或其他支持迭代对象。
. Start——下标起始位置。
格式3 如下:
for <任意变量名> in iter(<列表名>): 
<语句块> 
注:iter(object[, sentinel]) 函数用来生成迭代器,返回迭代对象。
参数
. object——支持迭代的集合对象。
. sentinel——如果传递了第二个参数,则参数 object 必须是一个可调用
的对象(如,函数),此时,iter 创建了一个迭代器对象,每次调用这个迭代器
对象的__next__( ) 方法时,都会调用 object。
格式4 如下:
for <任意变量名> in range(len(<列表名>)): 
<语句块> 
Gxpzw.indd 54 2023/5/11 15:37:49 

第5单元 混合的队伍——列表
注:range(start, stop[, step]) 函数返回类型是ndarray,可用list( ) 返回一个
整数列表,一般用在 for 循环中。
参数
. start——计数从start 开始。默认是从0 开始。例如,range(5)等价
于range(0,5)。
. end——计数到 end 结束,但不包括end。例如,range(0,5)是[0, 1, 
2, 3, 4],没有5。
. step——步长,默认为1。例如:range(0,5)等价于range(0, 5, 1)。
列表遍历示例程序代码如下:
list=['one','two','three'] 
print("***********格式1实例************") 
for i in list: 
print(i) 
print("***********格式2实例************") 
for i in enumerate(list): 
print(i) 
print("***********格式3实例************") 
for i in iter(list): 
print(i) 
print("***********格式4实例************") 
for i in range(len(list)): 
print(list[i]) 
运行结果如图5-2 所示。
图5-2 列表遍历示例运行结果
Gxpzw.indd 55 2023/5/11 15:37:50 

2.列表(list)推导式
Python 推导式是一种独特的数据处理方式,可以从一个数据序列构建另
一个新的数据序列的结构体。列表(list) 推导式即为其中之一,其格式如下:

[ 表达式 for 变量 in 对象] 
或者

[ 表达式 for 变量 in 对象 if 条件] 

例如:

>>> list1=[a for a in range(11)
]
>>> print(list1)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> list2=[a for a in range(21) if a%3==0]
>>> print(list2)
[0, 3, 6, 9, 12, 15, 18]
>>> week=["Mon","Tues","Wed","Thurs","Fri","Sat","Sun"
]
>>> new_week=[w.upper() for w in week]
>>> print(new_week)
['MON', 'TUES', 'WED', 'THURS', 'FRI', 'SAT', 'SUN'
]



3.Python列表类型特有的函数或方法
Python 列表类型特有的函数或方法如表5-1 所示。

表5-1 Python 列表类型特有的函数或方法

函数或方法描述
ls[i] = x 替换列表ls第i数据项为x 
ls[i:j] = lt 
用列表lt 替换列表ls 中第i~j 项数据
( 
不含第j 项,
下同)
ls[i:j:k] = lt 用列表lt替换列表ls中第i~j以k为步长的数据
del ls[i:j] 删除列表ls第i~j项数据,等价于ls[i:j]=[] 
del ls[i:j:k] 删除列表ls第i~j以k为步长的数据
ls += lt或ls.extend(lt) 将列表lt元素增加到列表ls中
ls *= n 更新列表ls,其元素重复n次

Gxpzw.indd 56 


2023/5/11 15:37:50 


第5单元 混合的队伍——列表
函数或方法描述
ls.append(x) 在列表ls最后增加一个元素x 
ls.clear() 删除ls中所有元素
ls.copy() 生成一个新列表,复制ls中所有元素
ls.insert(i, x) 在列表ls第i的位置增加元素x 
ls.pop(i) 将列表ls中第i项元素取出,并删除该元素
ls.remove(x) 将列表中出现的第一个元素x删除
ls.reverse(x) 列表ls中元素反转
4.Python的列表和数组
列表是Python 的内置数据类型,是Python 中最基本的数据结构——序
列中的一种,它提供一个或多个表示一组元素的方法;Python 原生没有数组
的概念,要使用数组需通过 import array 或者import numpy 中的array 来引进
数组。
Python 中原生的列表虽然使用方法与数组类似,但它们之间有本质区别。
创建列表时不需要指定列表长度,可以在使用中动态插入任何数量的元素;也
不需要指定数据类型,列表中不同元素的类型可以相同,也可以不同。而创建
数组时必须指定数组长度和数据类型。另外,列表还具有诸如索引、切片、更新、
删除等操作,也为程序编写提供了更大的设计空间,例如,绘图时可以将颜色
值作为列表元素,绘制出多彩的图形,如图5-3 所示。
图5-3 七彩蟒蛇
5.程序资源
本单元配套了“列表遍历示例.py”“七彩蟒蛇绘制.py”等程序,供授课
教师选择演示,以激发孩子的学习兴趣。
续表
Gxpzw.indd 57 2023/5/11 15:37:51 

跟我学Python一级教学辅导
5.7 教学组织安排
教学环节教学过程建议时长
知识导入使用一个小火车玩具引入列表的概念
1课时
列表的创建与删除
通过提问、讨论、测试、动手操作等互动及实践掌握列
表创建与删除的方法
列表的索引和访问
通过和字符串的对比、采用代码演示、动手操作、提问
等互动熟悉列表的索引和访问方法1课时
列表元素的控制引入通过猜拳游戏引入列表元素的使用
1课时列表元素的控制
采用代码演示、动手操作、提问等互动熟练掌握列表元
素控制的方法
单元总结以提问方式总结本次课所学内容,布置课后作业
5.8 教学过程设计
1.游戏式知识导入
用一个火车玩具,和学生玩一个火车运货物的游戏,顺带引入列表的概念。
2.知识点一:列表的创建
(1)通过主教材小实例的演示介绍列表创建的方法。
(2)问答式完成主教材第5 单元上“想一想”中问题5-1,介绍空列表。
3.知识点二:列表的删除
(1)通过火车卸货演示比拟列表元素的删除。
Gxpzw.indd 58 2023/5/11 15:37:51 

(2)通过命令操作演示并讲解del 语句的使用方法。
(3)通过命令操作演示并讲解pop( ) 函数的使用方法。
(4)通过命令操作演示并讲解remove( ) 函数的使用方法。
(5)通过命令操作演示并讲解clear( ) 函数的使用方法。
(6)测试方式完成“来找茬”问题,对比pop( ) 函数和remove( ) 函数的异
同,强化学生对这两个函数使用方法的理解。
4.知识点三:列表的索引和访问
(1)以提问的方式带领学生回忆字符串的索引概念,以对比方式引入列表
的索引概念。
(2)用提问的方式让学生说出主教材第5 单元中列表引用命令的结果。
(3)运行主教材例5-1 的程序,掌握列表在实际中的运用方式。
(4)让学生完成主教材第5 单元“练一练”中问题5-2,并和其他同学分
享自己的程序代码。
(5)简单介绍扩充知识:使用for-in 语句实现列表元素的遍历。
(6)运行主教材例5-2 的程序,掌握列表的截取方法。
5.知识点四:增加列表元素
(1)讲解主教材例5-3 的程序代码,并运行。
(2)选两个学生来玩猜拳游戏,并让学生仿照主教材例5-3 编写程序代码,
记录游戏过程及双方得分。
(3)通过命令操作演示及提问的方式讲解insert( )、extend( ) 函数和“+
” 
运算符的使用方法。
(4)以课堂讨论的方式让学生提出使用其余函数或方法(除append( ) 外)
修改主教材例5-3 的方法。
(5)以课堂练习的方式让学生完成主教材第5 单元“练一练”中问题5-3, 
并作分享讲解。
6.知识点五:修改列表元素
通过命令操作演示及提问的方式讲解列表修改的方法。

Gxpzw.indd 59 


2023/5/11 15:37:51 


跟我学Python一级教学辅导
7.知识点六:列表的其他操作
(1)简单介绍主教材第5 单元表5-2 里的列表函数或方法。
(2)运行主教材例5-4 程序,讲解sort( ) 函数的使用方法。
(3)以课堂练习的方式让学生完成主教材第5 单元“练一练”中问题5-4,
并作分享讲解。
(4)通过命令操作演示及提问的方式讲解求最大、最小等函数的使用方法。
8.单元总结
小结本次课的内容,布置课后作业。
5.9 拓 展 练 习
1.成绩统计
设计一个程序,输入全班10 个人的语文成绩,统计并输出该课程的总分、
平均分、最高分及最低分,程序运行结果如图5-4 所示。
图5-4 成绩统计运行结果
2.名字搜索
在经过一轮初赛后决定了进入演讲比赛决赛的同学名单,编写一个程序查
Gxpzw.indd 60 2023/5/11 15:37:52