Python - 列表排序
按字母數字排序列表
列表物件有一個 sort()
方法,預設情況下會按字母數字升序排序列表。
示例
按字母順序排序列表
thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
thislist.sort()
print(thislist)
自己動手試一試 »
降序排序
要按降序排序,請使用關鍵字引數 reverse = True
。
示例
按降序排序列表
thislist = ["orange", "mango", "kiwi", "pineapple", "banana"]
thislist.sort(reverse = True)
print(thislist)
自己動手試一試 »
自定義排序函式
您還可以透過使用關鍵字引數 key = function
來自定義您自己的函式。
該函式將返回一個數字,用於對列表進行排序(數字越小越靠前)。
示例
按數字與 50 的接近程度排序列表
def myfunc(n)
return abs(n - 50)
thislist = [100, 50, 65, 82, 23]
thislist.sort(key = myfunc)
print(thislist)
自己動手試一試 »
不區分大小寫的排序
預設情況下,sort()
方法區分大小寫,導致所有大寫字母排在小寫字母之前。
示例
區分大小寫的排序可能會產生意外的結果。
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort()
print(thislist)
自己動手試一試 »
幸運的是,在對列表進行排序時,我們可以使用內建函式作為鍵函式。
因此,如果您想要一個不區分大小寫的排序函式,請使用 str.lower
作為鍵函式。
示例
對列表執行不區分大小寫的排序
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort(key = str.lower)
print(thislist)
自己動手試一試 »
反向順序
如果您想反轉列表的順序,而不考慮字母順序,該怎麼辦?
reverse()
方法會反轉元素當前排序的順序。
示例
反轉列表項的順序
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.reverse()
print(thislist)
自己動手試一試 »