• 内置函数系列之 sorted排序


    sorted排序函数语法:

      sorted(可迭代对象,key=函数(默认为None),reverse=False) 将可

      迭代对象的每一个元素传进key后面的函数中,根据函数运算的结果(返回值)进行排序

      reverse:是否倒叙,True:倒叙,False:正序

    1.列表排序

    lst = [1,5,8,6,4,3,2,44,88,5,12,3]
    lst_new = sorted(lst)   # 原列表不改变,返回一个新列表
    print(lst_new)
    # 结果:[1, 2, 3, 3, 4, 5, 5, 6, 8, 12, 44, 88]    #默认按正序排列.
    

      

    2.字典key排序

    dic = {1:'A',5:'E',3:'C',2:'B',4:'D'}
    dic_new = sorted(dic)
    print(dic_new)
    # 结果:[1, 2, 3, 4, 5]    # 将字典的key进行排序,然后添加到列表中
    

      

    3.结合函数排序

    3.1 根据字符串的长度进行排序

    # 普通函数
    lst = ['马化腾','施瓦辛格','奥斯特洛夫斯基','老舍']
    def func(s):
    	return len(s)   # 计算出每个元素的长度,按照返回的长度进行排序
    s = sorted(lst,key=func)
    print(s)
    # 结果:['老舍', '马化腾', '施瓦辛格', '奥斯特洛夫斯基']
    

      

    3.2使用lambda匿名函数排序

    s1 = sorted(lst,key=lambda x:len(x))
    print(s1)
    # 结果:['老舍', '马化腾', '施瓦辛格', '奥斯特洛夫斯基']
    

      

    3.3 字典排序

     按照年龄从大到小排序
    lst = [{'id':1,'name':'alex','age':18},
           {'id':2,'name':'wusir','age':48},
           {'id':3,'name':'taibai','age':58},
           {'id':4,'name':'sath','age':18}
           ]
    
    s3 = sorted(lst,key=lambda x:x['age'],reverse=True)
    print(s3)
    # 结果:
    # [{'id': 3, 'name': 'taibai', 'age': 58},
    #  {'id': 2, 'name': 'wusir', 'age': 48},
    #  {'id': 1, 'name': 'alex', 'age': 18},
    #  {'id': 4, 'name': 'sath', 'age': 18}
    #  ]
    

      

  • 相关阅读:
    2020.7.23第十八天
    2020.7.22第十七天
    本周总结
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
  • 原文地址:https://www.cnblogs.com/594504110python/p/9352836.html
Copyright © 2020-2023  润新知