先上自己答案
L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)] # 排序函数 def by_name(t): return t[0] def by_score(t): return t[1] # test print(sorted(L, key=by_name)) print(sorted(L, key=by_score, reverse=True))
有哥们问为什么可以这么写:
def by_score(t): return -t[1]
你肯定知道这个函数就是取分数的,加了这个-以后,得到的分数,就是 -75, -92, -66, -88,所以得到的自然是-92, -88, -75, -66的排序了。而原本就是66, 75, 88, 92的排序,所以就实现了倒序
-75, -92, -66, -88
-92, -88, -75, -66
66, 75, 88, 92
Sign in to make a reply
烈可烈
先上自己答案
有哥们问为什么可以这么写:
你肯定知道这个函数就是取分数的,加了这个-以后,得到的分数,就是
-75, -92, -66, -88
,所以得到的自然是-92, -88, -75, -66
的排序了。而原本就是66, 75, 88, 92
的排序,所以就实现了倒序