【Python】Python - 對List排序。Sort Lists

【Python】Python - 對List排序。Sort Lists


對List以英數字排序

List物件有sort()方法,可以對list內的items作英數字的排序,排序預設值為升冪排序(ascending):

範例

對 list 作英文排序:

thislist = ["orange""mango""kiwi""pineapple""banana"]
thislist.sort()
print(thislist)
上面輸出: ['banana', 'kiwi', 'mango', 'orange', 'pineapple']

範例

對 list中以數字排序:

thislist = [10050658223]
thislist.sort()
print(thislist)
上面輸出: [23, 50, 65, 82, 100]

降冪排序

要做降冪排序 使用參數 reverse = True:

範例

將list作降冪排序:

thislist = ["orange""mango""kiwi""pineapple""banana"]
thislist.sort(reverse = True)
print(thislist)
上面輸出:['pineapple', 'orange', 'mango', 'kiwi', 'banana']

範例

對list中的數字作降冪排序:

thislist = [10050658223]
thislist.sort(reverse = True)
print(thislist)
上面輸出: [100, 82, 65, 50, 23]

自定義排序函數(排序方法)

你可以自定義自己的排序方法使用 keyword argument key = function.

函數回傳的數字將用來排序list內的items (最小的在前面):

範例

將list內的items排序,以最接近50的由小到大排序:

def myfunc(n):
  return abs(n - 50)

thislist = [10050658223]
thislist.sort(key = myfunc)
print(thislist)
上面回傳: [50, 65, 23, 82, 100]

大小寫敏感的排序

預設的 sort() 方法為大小寫明敏感的,所以排序會將小寫的排在前面:

範例

大小寫有區分(敏感)的排序可能會使得產出結果不是我們預期的:

thislist = ["banana""Orange""Kiwi""cherry"]
thislist.sort()
print(thislist)
上面輸出: ['Kiwi', 'Orange', 'banana', 'cherry']

幸運地,python有內建函數可以排序,所以,如果需要排序大小寫不要區分的可以加入key=str.lower來排序:

範例

將下面的list排序,不區分大小寫:

thislist = ["banana""Orange""Kiwi""cherry"]
thislist.sort(key str.lower)
print(thislist)
上面輸出: ['banana', 'cherry', 'Kiwi', 'Orange']

反轉排序

如果需要將英文字母順序次序反轉可使用reverse() 方法來完成:

範例

將list的從原本的順序作相反排序:

thislist = ["banana""Orange""Kiwi""cherry"]
thislist.reverse()
print(thislist)
上面輸出: ['cherry', 'Kiwi', 'Orange', 'banana']






留言

這個網誌中的熱門文章

【多益】現點現做的英文怎麼說呢?

《Microsoft Word 應用》:圖片被文字蓋住解決方法,不可設定為固定行高

如何在Ubuntu系統上安裝Notepad ++ (Install Notepad++ On Ubuntu 16.04 / 17.10 / 18.04 / 20.04)