已知二维列表 ls=[['学号', '姓名', 'Python', '英语'], ['2021001', '王一', 87, 68], ['2021002', '陈二', 80, 76], ['2021003', '黄三', 75, 65], ['2021004', '朱四', 67, 80]],编写代码,在列表 ls 第一行记录尾部增加“平均成绩”,并在其他行求出每位同学的平均成绩,保留 1 位小数。
输出如下:[['学号', '姓名', 'Python', '英语', '平均成绩'], ['2021001', '王一', 87, 68, 77.5],['2021002', '陈二', 80, 76, 78.0], ['2021003', '黄三', 75, 65, 70.0], ['2021004', '朱四', 67,80, 73.5]]
ls=[['学号', '姓名', 'Python', '英语'], ['2021001', '王一', 87, 68], ['2021002', '陈二', 80, 76], ['2021003', '黄三', 75, 65], ['2021004', '朱四', 67, 80]]
for i in range(len(ls)):
if i == 0:
ls[i].append('平均成绩')
else:
ls[i].append((ls[i][2] + ls[i][3]) / 2)
print(ls)
ls = [['学号', '姓名', 'Python', '英语'], ['2021001', '王一', 87, 68], ['2021002', '陈二', 80, 76], ['2021003', '黄三', 75, 65], ['2021004', '朱四', 67, 80]]
for i,n in enumerate(ls):
ls[i] += [round(sum(filter(lambda x:type(x)==int,n))/2,1)] if i else ['平均成绩']
print(ls)
输出结果:
[['学号', '姓名', 'Python', '英语', '平均成绩'], ['2021001', '王一', 87, 68, 77.5], ['2021002', '陈二', 80, 76, 78.0], ['2021003', '黄三', 75, 65, 70.0], ['2021004', '朱四', 67, 80, 73.5]]