Python学习笔记——sorted

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:29   894   0

sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序

sorted([36, 5, -12, 9, -21], key=abs)

要进行反向排序,不必改动key函数,可以传入第三个参数reverse=True

sorted()也是一个高阶函数。用sorted()排序的关键在于实现一个映射函数。

练习:

设我们用一组tuple表示学生名字和成绩:

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

请用sorted()对上述列表分别按名字排序:

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

def by_name(t):
    return t[0].lower()

L2 = sorted(L, key=by_name)
print(L2)

再按成绩从高到低排序:

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

def by_score(t):
    return -t[1]

L2 = sorted(L, key=by_score)
print(L2)

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP