大学Python问题

已知二维列表 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]]