# 1.列表數據元素排序 在創建的列表中,數據元素的排列順序常常是無法預測的。這雖然在大多數情況下都是不可避免的,但經常需要以特定的順序呈現信息。有時候希望保留列表數據元素最初的排列順序,而有時候又需要調整排列順序。python提供了很多列表數據元素排序的方式,可根據情況選用。 ## 1.永久性排序 ...
1.列表數據元素排序
在創建的列表中,數據元素的排列順序常常是無法預測的。這雖然在大多數情況下都是不可避免的,但經常需要以特定的順序呈現信息。有時候希望保留列表數據元素最初的排列順序,而有時候又需要調整排列順序。python提供了很多列表數據元素排序的方式,可根據情況選用。
1.永久性排序
python的sort函數能夠較為輕鬆的對列表數據元素進行排序。
其語法格式:列表變數名.sort()
假設你有一個汽車列表,並要讓其中的汽車按字母排序。為簡化這項任務,我們假設列表中數據元素的所有值都是小寫,編寫程式如下所示
運行結果如下所示
我們發現cars中數據元素的順序已經被改變。
我們還可以按與字母順序相反的順序排列列表數據元素,為此,只需向sort函數傳遞參數reverse=True即可,編寫程式如下所示
運行結果如下所示
2.臨時性排序
要保留列表數據元素原來的排列順序,同時以特定的順序呈現他們,可使用sorted函數。sorted函數能夠按特定順序顯示列表數據元素,同時不影響它們在列表中的原始排列順序。
其語法格式:列表變數名.sorted()
編寫程式如下所示
運行結果如下所示
我們可以發現,調用sorted函數後,列表數據元素的排列順序沒有變。如果要按與字母順序相反的順序顯示列表,可向sorted函數傳遞參數reverse=True,編寫程式如下所示
運行結果如下所示
在並非所有值都是小寫時,按字母順序排列列表要複雜些。決定排列順序時,有多種解讀大寫字母的方式,要指定准確的排列順序,可能比我們這裡所做的要複雜。然而,大多數排序方式都是基於本節介紹。
3.反轉列表數據元素
要反轉列表數據元素的排列順序,可使用reverse函數。
其語法格式:列表變數名.reverse()
假設汽車列表是按購買時間排列的,可輕鬆地按相反的順序排列其中的汽車,編寫程式如下所示
運行結果如下所示
註意:
①reverse函數不是指按與字母順序相反的順序排列列表數據元素,而只是反轉列表數據元素的排列順序。
②reverse函數永久性地修改列表數據元素的排列順序,但可隨時恢復到原來的排列順序,為此只需再次調用reverse函數即可。
2.獲取列表長度
使用len函數可快速獲悉列表的長度。
其語法給是:列表變數名.len()
編寫程式如下所示
運行結果如下所示
python計算列表元素個數時是從索引1開始的,因此確定列表長度時,不會存在差一錯誤,有幾個數據元素,列表的長度就是幾。
3.遍歷列表
經常需要遍歷列表的所有數據元素,對每個數據元素執行相同的操作。需要對列表中的每個數據元素都執行相同的操作時,可使用python中的for迴圈。
其語法格式:
假設我們有一份學員名單,需要將其中每個學員的名字都列印出來。為此,我們可以分別獲取名單中的每個名字,但這種做法會導致多個問題。
問題1:如果名單很長,將會包含大量重覆代碼
問題2:每當名單的長度發生變化時,都必須修改代碼。
在實際編程中我們通過使用for迴圈語句,可讓python去處理這些問題。編寫程式如下所示:
for迴圈語句的知識點我們放在後面著重介紹,現在我們只要知道可以通過for迴圈,通過"照葫蘆畫瓢"能夠實現對列表的遍歷即可。