Python sorted() 函式



Python 的 **sorted() 函式** 返回一個新的已排序列表,該列表來自可迭代物件中的專案。排序順序可以設定為升序或降序。但是,字串按字母順序排序,數字按數值順序排序。

**sorted()** 是常用的用於對可迭代物件進行排序的 內建函式 之一。可迭代物件是可以讓我們透過迭代逐個訪問其專案的物件,例如列表、元組、字串等。

語法

Python **sorted()** 函式的語法如下所示:

sorted(iterObject, key, reverse)

引數

Python **sorted()** 函式接受三個引數,所有引數都是可選的:

  • **iterObject** - 它表示一個物件,例如 列表字串元組

  • **key** - 它指定一個表示比較鍵的函式。

  • **reverse** - 此引數指定排序順序。如果其值為 True,則順序為降序;如果設定為 False,則為升序。預設值為 False。

返回值

Python **sorted()** 函式返回一個已排序列表。

sorted() 函式示例

練習以下示例以瞭解如何在 Python 中使用 **sorted()** 函式。

示例:sorted() 函式的使用

包含字串的列表將按字母順序排序。以下示例顯示了 Python sorted() 函式的使用,我們在此建立一個列表並嘗試對其進行排序。

orgnlStrList = ["Simply", "Easy", "Learning", "Tutorials", "Point"]
print("Before Sorting:", orgnlStrList)
print("Printing the list items after sorting:")
print(sorted(orgnlStrList))

執行上述程式後,會產生以下結果:

Before Sorting: ['Simply', 'Easy', 'Learning', 'Tutorials', 'Point']
Printing the list items after sorting:
['Easy', 'Learning', 'Point', 'Simply', 'Tutorials']

示例:使用 sorted() 排序數字列表

在此示例中,我們按升序對數字列表進行排序。

numericList = [88, 89, 81, 82, 86, 85, 83]
print("Before Sorting:", numericList)
print("Printing the list items after sorting:")
print(sorted(numericList))

以下是上述程式碼的輸出:

Before Sorting: [88, 89, 81, 82, 86, 85, 83]
Printing the list items after sorting:
[81, 82, 83, 85, 86, 88, 89]

示例:帶有 'key' 引數的 sorted() 函式

當我們將“key”引數的值指定為“len”時,在排序列表時,將比較字串的長度,而不是字串本身。以下程式碼演示瞭如何根據專案的長度對列表進行排序。

orgnlStrList = ["Simply", "Easy", "Learning", "Tutorials", "Point"]
print("Before Sorting:", orgnlStrList)
print("sorting the list items by length:")
print(sorted(orgnlStrList, key=len))

上述程式碼的輸出如下:

Before Sorting: ['Simply', 'Easy', 'Learning', 'Tutorials', 'Point']
sorting the list items by length:
['Easy', 'Point', 'Simply', 'Learning', 'Tutorials']

示例:帶有 'reverse' 引數的 sorted() 函式

如前所述,如果“reverse”引數的值設定為“True”,則排序順序將為降序。在下面的程式碼中,建立了一個數字列表。然後我們按降序列印其專案。

numericList = [12, 24, 36, 48, 60, 72, 84]
print("Before Sorting:", numericList)
print("sorting the list items in descending order:")
print(sorted(numericList, reverse=True))

以下是上述程式碼的輸出:

Before Sorting: [12, 24, 36, 48, 60, 72, 84]
sorting the list items in descending order:
[84, 72, 60, 48, 36, 24, 12]
python_built_in_functions.htm
廣告