内容正文:
任务4.2 列表
成绩统计
4.2 列表——成绩统计
【任务描述】
考试结束,小T要帮助导师统计出某班级(15人)《Python程序设计》课程成绩的平均分、不及格人数和不及格率、及格人数和及格率、优秀人数和优秀率。
4.2 列表——成绩统计
统计班级课程成绩
平均分
不及格人数和不及格率、
及格人数和及格率
优秀人数和优秀率
4.2 列表——成绩统计
【任务分析】
根据经验,我们可以用Python中的列表数据类型解决该任务。
(1)定义列表,列表中存储班级课程成绩。
(2)遍历列表,计算总分,统计不及格人数、优秀人数。
(3)输出平均分、不及格人数和不及格率、及格人数和及格率、优秀人数和优秀率。
4.2 列表——成绩统计
4.2.1 列表的基本操作
4.2.2 列表的常用方法
4.2.3 列表任务实现——成绩统计
4.2.1 列表的基本操作
4.2.1 列表的基本操作
列表的创建
列表的访问
列表的遍历
列表的切片
4.2.1 列表的基本操作
列表(list)是重要的Python数据类型,它由一系列按照特定顺序排列的元素组成,是Python内置的可变的序列,它有如下特点:
(1)列表中的数据按顺序排列。
(2)列表每个元素都有自己的位置编号,编号有正向和负向两种索引:
正向索引从0开始;
负向索引从-1开始。
(3)列表可以存储任意数据类型的对象,且允许重复。
1.列表的创建
用方括号“[]”创建列表,方括号内不同的数据项使用逗号分隔,数据项可以是不同类型的数据,基本语法格式如下:
lst=[元素1,元素2,…,元素n]
4.2.1 列表的基本操作
【例4-21】用方括号创建列表。
['english', 85, 68, 'computer', 98, 68]
<class 'list'>
4.2.1 列表的基本操作
lstScore=['english',85,68,75,'computer',98,67,87] #列表内包含了数值型和字符串型数据
lstNumber=[2,4,5,1,2,4] #列表内数据可重复
print(lstScore)
print(type(lstScore))
用list()函数创建:
list()函数是把接收到的其他可迭代数据类型(如字符串、元组、集合等)转换成列表,返回一个列表类型。
如果list()函数中没有任何参数则表示创建的是空列表。
4.2.1 列表的基本操作
【例4-22】用list()函数创建列表。
4.2.1 列表的基本操作
strHello='Hello World!'
print(strHello) #字符串
print(type(strHello))
lstHello=list(strHello) #字符串转换成列表
print(lstHello)
print(type(lstHello))
Hello World!
<class 'str'>
['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!']
<class 'list'>
4.2.1 列表的基本操作
即学即答:
列表a=list('(1,2),Hello'),a的值是()。
A.['(', '1', ',', '2', ')', ',', 'H', 'e', 'l', 'l', 'o']
B.[(1,2), ‘Hello’]
C.输出错误
D.[‘(1,2)’, ‘Hello’]
2.列表元素的访问
使用下标索引来访问列表的元素,可以通过下面语句进行访问:
English 85 68 Computer 98 68
0 1 2 3 4 5
-7 -6 -4 -3 -2 -1
正向
负向
列表长度:len(列表名)
4.2.1 列表的基本操作
列表名[索引] # 用索引访问列表中的元素
4.2.1 列表的基本操作
lstName=['李白','杜甫','王维','苏轼']
print(lstName[0])
print(lstName[2])
print(lstName[-1])
print(lstName[-2])
print(len(lstName))
李白
王维
苏轼
王维
4
【例4-23】用索引访问列表。
4.2.1 列表的基本操作
即学即答:
列表a=[[1,2,3],[4,5,6],[7,8,9]],a[0][1]表示的元素是()。
A.1 B.4
C.2 D.5
3.列表的遍历
for循环来遍历列表元素
lstName=['李白','杜甫','王维','苏轼']
for name in lstName:
print(name)
李白
杜甫
王维
苏轼
【例4-24】列表的遍历。
4.2.1 列表的基本操作
4.列表的切片
列表名[start:end:step]
start:表示起始索引,从0开始
end:表示结束索引
step:表示步长,步长为正时表示从左向右取值,步长为负时,反向取值
4.2.1 列表的基本操作
lstName=['李白','杜甫','王维','苏轼']
print(lstName[1:3])
print(lstName[::2])
print(lstName[-4:-1])
【例4-25】列表的切片。
4.2.1 列表的基本操作
['杜甫', '王维']
['李白', '王维']
['李白', '杜甫', '王维']
列表的基本操作
边学边练:
(1)创建一个列表lstClassmates,存储学号前10的同学名字。
(2)分别取出列表中索引为3、8同学的名字,并输出列表的长度。
(3)把列表lstClassmates中的索引为2-8位同学名字取出放入列表lstSub列表中,并进行遍历输出lstSub其中的元素
$$