Discuss / Python / 不知道怎么@人,回答一下-1那个朋友

不知道怎么@人,回答一下-1那个朋友

Topic source

烈可烈

#1 Created at ... [Delete] [Delete and Lock User]

先上自己答案

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的排序,所以就实现了倒序


  • 1

Reply