把一行作为一个对象,然后放入对象数组。循环打印。
使用pandas来解要容易些,参考如下代码:
import pandas as pd
import numpy as np
df = pd.DataFrame({'name': ['a', 'b', 'c', 'd', 'e'], 'ch': np.random.randint(50, 100, size=5), 'mat': np.random.randint(
50, 100, 5), 'phi': np.random.randint(50, 100, 5), 'che': np.random.randint(50, 100,5), 'eng': np.random.randint(50, 100, 5), }).set_index('name')
df['sum']=df.sum(axis=1)
df['avg'] = df.mean(axis=1).apply(lambda x:round(x,2))
print(df)
df.sort_values(by='avg',ascending=False,inplace=True)
df=df.reset_index()
print(df)
name ch mat phi che eng sum avg
0 d 99 92 61 86 81 419 139.67
1 e 80 75 80 61 93 389 129.67
2 c 98 98 62 61 68 387 129.00
3 a 64 87 95 54 64 364 121.33
4 b 99 52 65 56 87 359 119.67
如对你有帮助,请点击我回答右上方采纳按钮,采纳支持一下~~