sorted()排列小结

练习 
假设我们用一组 tuple 表示学生名字和成绩: 
L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)] 

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

再按成绩从高到低排序

def by_name(t):
    return t[0]
def by_score(t):
    return t[1]
L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88),('Ava', 88)]
L2=sorted(L,key=by_name)
print(L2)
L3=sorted(L2,key=by_score,reverse=True)
print(L3)

思路:看到这个题的第一反应是,怎么能够把名字和分数分离开来,在去比较大小。

       写题的时候没有理解sorted()的真正所在

sorted(L,key=(注:这里可以调用函数),reverse=(注:True让排序从大到小))

sorted()是一个排序函数,key值是为了定义自己的函数排序的规则,key中的函数是处理数据用的,

sorted()高阶函数是用来排序,默认是从小到大排列,字符比较是ASCII决定的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值