Python3 sorted() 函數

Python3 內置函數 Python3 內置函數


描述

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

sort 與 sorted 區別:

sort 是應用在 list 上的方法,sorted 可以對所有可迭代的對象進行排序操作。

list 的 sort 方法返回的是對已經存在的列表進行操作,而內建函數 sorted 方法返回的是一個新的 list,而不是在原來的基礎上進行的操作。

語法

sorted 語法:

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

參數說明:

  • iterable -- 可迭代對象。
  • key -- 主要是用來進行比較的元素,只有一個參數,具體的函數的參數就是取自於可迭代對象中,指定可迭代對象中的一個元素來進行排序。
  • reverse -- 排序規則,reverse = True 降序 , reverse = False 昇冪(默認)。

返回值

返回重新排序的列表。

實例

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

>>>sorted([5, 2, 3, 1, 4]) [1, 2, 3, 4, 5] # 默認為昇冪

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

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

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

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

利用key進行倒序排序

>>>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] >>>

要進行反向排序,也通過傳入第三個參數 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 內置函數 Python3 內置函數