Python 的 sorted() 函式


在本教程中,我們將學習 *Python* 中的 **sorted()** 函式。

**sorted()** 函式用於按 **升序** 或 **降序** 排序可迭代物件。我們甚至可以根據不同的鍵和值對字典列表進行排序。讓我們充分利用 **sorted()** 函式。

**sorted()** 函式**不是**像 **sort** 方法一樣的**就地**演算法。

預設 sorted()

預設情況下,**sorted()** 函式將按 **升序** 排序可迭代物件。讓我們來看一個例子。

示例

 線上演示

# initializing a list
numbers = [4, 3, 5, 1, 2]
# sorting the numbers
sorted_numbers = sorted(numbers)
# printing the sorted_numbers
print(sorted_numbers)

輸出

如果執行上述程式碼,您將得到以下結果。

[1, 2, 3, 4, 5]

反向 sorted()

我們可以將引數 **reverse** 設定為 **True** 以按降序排序可迭代物件。讓我們來看一個例子。

示例

 線上演示

# initializing a list
numbers = [4, 3, 5, 1, 2]
# sorting the numbers
sorted_numbers = sorted(numbers, reverse=True)
# printing the sorted_numbers
print(sorted_numbers)

輸出

如果執行上述程式碼,您將得到以下結果。

[5, 4, 3, 2, 1]

sorted() 的 key 引數

**sorted()** 函式將接受另一個可選引數,稱為 **key**。**key** 引數用於告訴 **sorted()** 需要根據哪個值對列表進行排序。

假設我們有一個 **字典** 列表。我們必須根據某個值對 **字典** 列表進行排序。在這種情況下,我們將 **key** 作為引數傳遞,並使用一個函式返回我們需要對字典列表進行排序的特定值。

示例

 線上演示

# initializing a list
numbers = [{'a': 5}, {'b': 1, 'a': 1}, {'c': 3, 'a': 3}, {'d': 4, 'a': 4}, {'e'
'a': 2}]
# sorting the list of dict based on values
sorted_dictionaries = sorted(numbers, key= lambda dictionary: dictionary['a'])
# printing the numbers
print(sorted_dictionaries)

輸出

如果執行上述程式碼,您將得到以下結果。

[{'b': 1, 'a': 1}, {'e': 2, 'a': 2}, {'c': 3, 'a': 3}, {'d': 4, 'a': 4}, {'a':

結論

如果您對本教程有任何疑問,請在評論區提出。

更新於:2020年7月11日

309 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.