Discuss / Python / 关于key的理解。

关于key的理解。

Topic source

牙神牙拔

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

错误答案:一开始理解为将整个L作用于函数key,然后对新返回的list做比较,实际上是L的元素作用于key。

L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]

def by_name(t):
    return ([t[i][0] for i in range(len(t))])#错误理解
L2 = sorted(L, key=by_name)
print(L2)

正确答案

L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
#按照名字排序
def by_name(t):
    return t[0]
L2 = sorted(L, key=by_name)
print(L2)
#按照分数排序
def by_score(t):
    return -t[1]
L3 = sorted(L, key=by_score)
print(L3)

原来是这么回事- -


  • 1

Reply