###### tags: `chapter 6` `Python` # 6-3 串列的排序 # 串列排序通常用在數值資料,但字串資料也是可以進行排序的,其排序的依據是按照每一個字元的ASCII碼做排序,排序的方式有很多種,但為了講求寫程式時的便利性,我們會直接呼叫python的`sort()`函數來幫助我們。 ```python= player = ["Lebron", "Jordan", "Curry", "Giannis", "Howard"] player.sort() print(player) # ['Curry', 'Giannis', 'Howard', 'Jordan', 'Lebron'] ``` ```python= score = [90, 70, 80, 30, 50] score.sort() print(score) # [30, 50, 70, 80, 90] ``` ## 暫時性排序 ## `sort()`函數會永久的排序資料,也就是說資料無法回去到未排序的狀態,如果想要讓資料在輸出排序後的結果之後返回到原本的狀態,可以使用`sorted()` ```python= score = [90, 70, 80, 30, 50] print(sorted(score)) print(score) # [30, 50, 70, 80, 90] # [90, 70, 80, 30, 50] ``` ## 排序反轉 ## 排序的時候通常是由小排到大,如果遇到需要大到小的排序時你可以使用`reverse()`函數,這個函數不是只有排序後的資料可以使用,如果今天無聊想把隨便一個串列反轉,也是可以的。此外,`sort()`和`sorted()`本身就有內建`reverse`的參數,只要設為`TRUE`就可以囉!不用多呼叫一次`reverse()`。 ```python= score = [90 , 70 , 80 , 30 , 50] score.sort() print(score) score.sort(reverse=True) print(score) # [30, 50, 70, 80, 90] # [90, 80, 70, 50, 30] ```