从小练习看五大知识点
我们会通过今天的作业,掌握列表的两个新运用:合并列表和列表排序。 一次测评中,老师将 学习小组A 和 学习小组B 的测评成绩(满分 100 分)从低到高记录放进两个列表: A = [91, 95, 97, 99],B = [92, 93, 96, 98] 。
现在,老师想将两个小组的成绩合并为一个列表,并按照从低到高的顺序排序,你能帮老师完成吗?
1.如果你直接将 list2 合并到 list1 上,那就无法做到只看A组的成绩,所以,最好再建一个列表来合并两组的成绩;
2.可以使用list.copy()来复制列表中的内容。
list.copy()负责列表内容
list1 = [91, 95, 97, 99]
list2 = [92, 93, 96, 98]
# 把 A 组成绩赋值给一个新列表,用来存合并的成绩——这个细节要注意!
list3 = list1.copy()
list3.extend(list2)
print(list3)
list3.sort()
print(list3)
合并两个列表内数据之.extend()
list3.extend(list2)
print(list3)
[91, 95, 97, 99, 92, 93, 96, 98]
列表内数据的排序之.sort()
list3.sort()
print(list3)
[91, 92, 93, 95, 96, 97, 98, 99]
用代码帮老师完成更多的成绩处理工作。老师有了新的需求:想知道两组的平均分,以及把低于平均分的成绩也打印出来。
所以,在这个练习中,我们会帮老师计算出两组的平均分,并挑出那些在平均分之下的成绩。
import numpy as np # 导入 numpy库,下面出现的 np 即 numpy库
scores1 = [91, 95, 97, 99, 92, 93, 96, 98]
scores2 = []
average = np.mean(scores1) # 一行解决。
print('平均成绩是:{}'.format(average))
for score in scores1:
if score < average:
scores2.append(score) # 少于平均分的成绩放到新建的空列表中
print(' 低于平均成绩的有:{}'.format(scores2)) # 上个关卡选做题的知识。
# 下面展示一种NumPy数组的操作,感兴趣的同学可以自行去学习哈。
scores3 = np.array(scores1)
print(scores3)
print(' 低于平均成绩的有:{}'.format(scores3[scores3<average]))
average=np.mean(scores1)
print(average)
--------------------------------------------------------------
平均成绩是:95.125
低于平均成绩的有:[91, 95, 92, 93]
[91 95 97 99 92 93 96 98]
低于平均成绩的有:[91 95 92 93]
95.125
----------------------------------------------------------
for score in scores1:
sum = sum + score
average = sum/len(scores1)
# 上面最好不要去数有几个学生,那样的话,学生数目发生变化就要调代码。
print('平均成绩是:{}'.format(average))
# 笨办法求平均数
np.mean()之快速求均值
scores1 = [91, 95, 97, 99, 92, 93, 96, 98]
average = np.mean(scores1) # 一行解决。
print(‘平均成绩是:{}’.format(average))
平均成绩是:95.125
列表转换数组之np.array()
scores1 = [91, 95, 97, 99, 92, 93, 96, 98]
scores3 = np.array(scores1)
print(scores3)
[91 95 97 99 92 93 96 98]