【python基礎】複雜資料型別-列表型別(排序/長度/遍歷)

2023-06-03 21:00:30

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迴圈,通過"照葫蘆畫瓢"能夠實現對列表的遍歷即可。