HackerRank题解:
#python3.0上
要求输入先输入一个整数n,表示学生的数目,再输入一组[["herry",50],["pote",45],["hello",45]]这样的数,然后输出:
hello
pote
初代码:
arrag = dict() #定义字典用来存值 temp =list() #存成绩 temp1 = list()#存姓名 for x in range(int(input())): name = input() score=float(input()) arrag[name]=score for value in arrag.values(): temp.append(value) temp.sort() a=min(temp) while a==min(temp): temp.remove(min(temp)) temp.remove(min(temp)) for key in arrag.keys(): if arrag[key] ==min(temp): temp1.append(key) print(temp) print(sorted(temp1))
局部优化后的代码:
arrag = dict() #定义字典用来存值 for x in range(int(input())): name = input() score=float(input()) arrag[name]=score temp=arrag.values() data=sorted(list(set(temp)))[1] lowest = [] #存姓名 for key in arrag.keys(