美文网首页
Python 排序

Python 排序

作者: tafanfly | 来源:发表于2019-05-31 10:47 被阅读0次

    sorted:用于可迭代对象排序

    语法 : sorted(iterable, key=None, reverse=False)
    参数:

    • iterable -- 迭代对象
    • key -- 指定可迭代对象中的一个元素来进行排序
    • reverse -- 为布尔值,指定排序规则,True 为降序 , False 为升序

    返回: 返回一个重新排好序的list, 注意并不会改变原有的迭代对象

    L = ['a', 'B', 'D', 'f', 'c']
    L1 = sorted(l)
    
    print (L)  # 原有对象不变
    ['a', 'B', 'D', 'f', 'c']
    
    print (L1) # 按照字符的ASCII码大小排序
    ['B', 'D', 'a', 'c', 'f']
    
    L2 = sorted(l, key=str.lower)
    print (L2) # 不区分大小写的字符排序
    ['a', 'B', 'c', 'D', 'f']
    
    L3 = sorted(l, key=str.lower, reverse=True)
    print (L3) # 不区分大小写的字符反向排序
    ['f', 'D', 'c', 'B', 'a']
    
    student = {'Anne' : 80, 'Tom' : 90, 'Jack' : 60}
    new = sorted(student, key=lambda x: student[x])
    
    print (new)
    ['Jack', 'Anne', 'Tom']
    

    list.sort : 用于列表排序

    语法 : sort(*, key=None, reverse=False)
    参数:

    • key -- 指定可迭代对象中的一个元素来进行排序
    • reverse -- 为布尔值,指定排序规则,True 为降序 , False 为升序

    返回: 返回值为None, 直接改变原有的序列并进行排序

    l = ['B', 'D', 'a', 'c', 'f']
    n = l.sort(key=str.lower, reverse=True)
    
    print (n)
    None
    
    print (l)
    ['f', 'D', 'c', 'B', 'a']
    

    reversed:用于可迭代对象的反转

    语法 : reversed(seq)
    参数:

    • seq -- 迭代对象

    返回: 返回一个反向排序的迭代对象, 注意并不会改变原有的迭代对象

    l = ['a', 'b', 'c']
    new = reversed(l)
    
    print (l)
    ['a', 'b', 'c']
    print (new)
    <list_reverseiterator object at 0x7f33ac854f60>
    print (list(new))
    ['c', 'b', 'a']
    

    list.reverse() : 用于列表的反转

    参数: list
    返回: 返回None, 注意改变原有的列表并反转

    l = ['a', 'b', 'c']
    new = l.reverse()
    
    print (new)
    None
    print (l)
    ['c', 'b', 'a']
    

    相关文章

      网友评论

          本文标题:Python 排序

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