题目
已知一些大学生的学号及绩点,存储为列表,如:[[‘001’,‘4.53’],[‘002’,‘4.13’],[‘003’,‘4.63’], [‘004’,‘4.73’],[‘005’,‘4.23’],[‘006’,‘4.81’]],要求输出前k名大学生的学号及绩点。
代码
def stu_rank(arr,k):
dis = {}
for item in arr:
dis[item[0]] = item[1]
ls = sorted(dis.items(),key = lambda x:x[1],reverse = True)
result = []
for i in ls[k:]:
result.append([i[0],i[1]])
return result
stu_score = [['001','4.53'],['002','4.13'],['003','4.63'],
['004','4.73'],['005','4.23'],['006','4.81']]
print(stu_rank(stu_score,3))
结果
[[‘001’, ‘4.53’], [‘005’, ‘4.23’], [‘002’, ‘4.13’]]