23-高级特性之内建方法(4)

本文深入讲解了Python中使用sorted函数进行排序的方法,包括数值排序、字符串排序及元组列表的排序,并介绍了如何利用key参数自定义排序规则。

sorted

  • 传入一个Iterable对象I和排序参数 [key=..., reverse=.. ] #命名关键字参数
  • {注意key参数可以传入一个自定义函数f} 等价于 对每一个I(i)都先执行f,再拿来排序

    #1.普通数值型
    L1 = [36,5,-12,9,-21]
    L1 = sorted(L1)
    print(L1,'\n')
    L1 = sorted(L1, key=abs)
    print(L1,'\n')
    L1 = sorted(L1, key=abs, reverse=True)
    print(L1, '\n')

    #2.普通字符串
    L2 = ['bob', 'about', 'Zoo', 'Credit'] #依据ASCI码
    L2 = sorted(L2) #没有忽略大小写 A<a{就ASCI而言}
    print(L2,'\n')
    L2 = sorted(L2, key=str.lower) #把所有str都lower或者upper,即忽略大小写
    print(L2, '\n')
    L2 = sorted(L2, key=str.upper, reverse=True)
    print(L2, '\n')

    #3作业:根据名字对T进行排序
    L3 = [('Bob', 75),('Adam', 92),('Bart', 66),('Lisa', 88),('haoZhang',22)] #list里面嵌套tuple
    def fn(t): #传入一个tuple
    return t[0].lower() #返回名字的小写后的字符串
    L3 = sorted(L3, key=fn)
    print(L3,'\n')
    L3 = sorted(L3, key=fn, reverse=True)
    print(L3, '\n')

    #根据分数进行排序
    def fn_score(t):
    return t[1]
    L3 = sorted(L3,key=fn_score,reverse=True)
    print(L3,'\n')

转载于:https://www.cnblogs.com/LS1314/p/8504486.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值