美文网首页
sorted排序

sorted排序

作者: 千寻_足_迹 | 来源:发表于2019-02-02 11:44 被阅读0次

    内置函数sorted用于对可迭代对象进行排序。
    函数原型: sorted(iterable, * , key=None, reverse=False)

    参数说明:
      iterable:可迭代对象,比如列表,字符串,字典等等
      key:作用于可迭代对象的每个元素函数,该函数返回一个新的值,该值参与真正的排序,
          如果key为None,则直接使用可迭代对象元素进行排序
      reverse:是否倒序,默认顺序排序(从小到大),如果设置该值为True,则是从大到小进行排序
    

    元组列表排序

    #迭代对象   元素=(名字,成绩)
    tuple_l = [('Bob',75), ('Adam', 92), ('Bart', 66), ('Lisa',88)]
    #对上门的元组使用名字进行排序
    def by_name(t):
      #t:该参数为可迭代对象tuple_l的元素,为一个元组 ('Bob',75)、('Adam',92)、...
      #返回元组的第一个元素返回用于排序,Bob、Adam、Bart、Lisa
      return t[0]
    
    #将可迭代对象tuple_l的每个元素 ('Bob',75)、('Adam',92)、...经过key对应的函数进行转换
    #('Bob',75)->by_name(('Bob',75))->'Bob'
    #('Adam',92)->by_name(('Adam',92))->'Adam'
    #('Bart',66)->by_name(('Bart',66))->'Bart'
    #('Lisa',88)->by_name(('Lisa',88))->'Lisa'
    
    sorted_result = sorted(tuple_l, key=by_name) 
    = sorted(tuple_l, ('Bob','Adam', 'Bart', 'Lisa'))
    print(sorted_result )
    
    #结果
    [('Adam', 92), ('Bart', 66), ('Bob', 75), ('Lisa', 88)]
    
    

    相关文章

      网友评论

          本文标题:sorted排序

          本文链接:https://www.haomeiwen.com/subject/qylssqtx.html