Python 列表 sort() 方法



Python 列表 **sort()** 方法預設情況下會將列表中的物件按升序排列。

要更改這些物件的順序,此方法採用兩個可選引數。它們可以按以下方式使用:

  • **reverse** 引數預設值為“False”,因此當將其設定為“True”時,該方法會將元素按降序排列。
  • **key** 引數預設值為 **None**。此引數用於設定與升序或降序不同的排序標準。設定為 key 引數的值必須始終是一個函式(或其他可呼叫物件),該函式接受一個引數並返回一個用於排序的鍵。

語法

以下是 Python 列表 **sort()** 方法的語法:

list.sort(*, key=None, reverse=False)

引數

  • **key** − (可選引數)預設 key = None。確定排序標準的函式。
  • **reverse** − (可選引數)預設 reverse = False。如果 reverse = True,則物件按降序排序。

返回值

此方法不返回值,但它會更改原始列表。

示例

以下示例演示了 Python 列表 sort() 方法的用法。在這裡,我們不傳遞任何引數即可預設執行該方法。

aList = ['123', 'xyz', 'zara', 'abc', 'xyz']
aList.sort()
print("List : ", aList)

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

List :  ['123', 'abc', 'xyz', 'xyz', 'zara']

示例

如果我們將 reverse 引數作為 True 傳遞給該方法,則列表將按降序排序。我們可以顯示列表以檢查結果,因為該方法不返回值。

aList = ['123', 'xyz', 'zara', 'abc', 'xyz']
aList.sort(reverse=True)
print("List : ", aList)

執行上面的程式時,輸出將顯示如下:

List :  ['zara', 'xyz', 'xyz', 'abc', '123']

示例

現在,如果我們將定義排序標準的函式作為值傳遞給 key 引數,則該方法將根據該標準對列表進行排序。

在此示例中,讓我們建立一個列表並對其呼叫 sort() 方法。在這裡,我們定義一個函式,該函式返回列表中存在的字串物件的第三個元素(或索引為 2 的元素)。此函式作為值傳遞給 sort() 方法的 key 引數。因此,將比較所有字串的第三個元素,並且列表中的元素將按升序或降序排序(如果 reverse 設定為 True)。

def func(key):
    return key[2]

aList = ['123', 'xyz', 'zara', 'abc', 'xyz']
aList.sort(key=func)
print("List : ", aList)

#reverse is set to True
aList.sort(reverse=True, key=func)
print("List : ", aList)

List :  ['123', 'abc', 'zara', 'xyz', 'xyz']
List :  ['xyz', 'xyz', 'zara', 'abc', '123']
python_lists.htm
廣告