从小练习看列表的五大知识点

从小练习看五大知识点

我们会通过今天的作业,掌握列表的两个新运用:合并列表和列表排序。 一次测评中,老师将 学习小组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]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hello world !

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值