Python3 sorted() 函數(shù)

2019-03-25 13:56 更新

Python3 sorted() 函數(shù)

Python3 內(nèi)置函數(shù) Python3 內(nèi)置函數(shù)

描述

sorted() 函數(shù)對所有可迭代的對象進(jìn)行排序操作。

sort 與 sorted 區(qū)別:sort 是應(yīng)用在 list 上的方法,sorted 可以對所有可迭代的對象進(jìn)行排序操作。list 的 sort 方法返回的是對已經(jīng)存在的列表進(jìn)行操作,而內(nèi)建函數(shù) sorted 方法返回的是一個新的 list,而不是在原來的基礎(chǔ)上進(jìn)行的操作。

語法

sorted 語法:

sorted(iterable, key=None, reverse=False)  

參數(shù)說明:

  • iterable -- 可迭代對象。
  • key -- 主要是用來進(jìn)行比較的元素,只有一個參數(shù),具體的函數(shù)的參數(shù)就是取自于可迭代對象中,指定可迭代對象中的一個元素來進(jìn)行排序。
  • reverse -- 排序規(guī)則,reverse = True 降序 , reverse = False 升序(默認(rèn))。

返回值

返回重新排序的列表。

實(shí)例

以下實(shí)例展示了 sorted 的最簡單的使用方法:

>>>sorted([5, 2, 3, 1, 4])
[1, 2, 3, 4, 5] # 默認(rèn)為升序

你也可以使用 list 的 list.sort() 方法。這個方法會修改原始的 list(返回值為None)。通常這個方法不如sorted()方便-如果你不需要原始的 list,list.sort()方法效率會稍微高一些。

>>>a=[5,2,3,1,4]
>>> a.sort()
>>> a
[1,2,3,4,5]

另一個區(qū)別在于list.sort() 方法只為 list 定義。而 sorted() 函數(shù)可以接收任何的 iterable。

>>>sorted({1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'})
[1, 2, 3, 4, 5]

利用key進(jìn)行倒序排序

>>>example_list = [5, 0, 6, 1, 2, 7, 3, 4]
>>> result_list = sorted(example_list, key=lambda x: x*-1)
>>> print(result_list)
[7, 6, 5, 4, 3, 2, 1, 0]
>>>

要進(jìn)行反向排序,也通過傳入第三個參數(shù) reverse=True:

>>>example_list = [5, 0, 6, 1, 2, 7, 3, 4]
>>> sorted(example_list, reverse=True)
[7, 6, 5, 4, 3, 2, 1, 0]

Python3 內(nèi)置函數(shù) Python3 內(nèi)置函數(shù)


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號