1. 程式人生 > 其它 >五、函式_16.sorted()

五、函式_16.sorted()

sorted()

sorted(iterable, key=None, reverse=False ),
        功能:排序,並返回新的排序list
        引數:iterable:可迭代物件
              key:可選,函式,預設值為None;該函式用於從iterable中的每一個元素中提取一個比較鍵
              reverse:可選,控制反轉,預設值為False
        返回值:新的排序list

執行原理:把iterable中的元素逐一取出放入key函式中處理,按照key函式return的結果進行排序後,返回一個新的list
預設按照從小到大進行排序
arr = (-932,-79,889,5-7,-26,-8,2)
r = sorted(arr)
print(r)

[-932, -79, -26, -8, -2, 2, 889]
指定key和reverse進行排序
arr = {-932,-79,889,5-7,-26,-8,2}
r = sorted(arr, key=abs, reverse=True)
print(r)

[-932, 889, -79, -26, -8, 2, -2]

'''
{-932, -79, 889, 5-7, -26, -8,  2}

==>    key = abs
  932   79  889   2    26   8   2
  
==>    sorted()
  2    -2   -8   -26  -79  889 -932 
  
==>    reverse = True
 -932  889  -79  -26  - 8  -2   2
'''
使用自定義函式作為key
arr = (-11, 12, 14, 6, -15, 7, 9, -28 )
r = sorted(arr, key= lambda x : x%3 )
print(r)


[12, 6, -15, 9, -11, 7, 14, -28]