1. 程式人生 > >python學習------第二天(列表)

python學習------第二天(列表)

                                     列表

列表讓你能在一個地方儲存成組的資訊,其中可以只包含幾個元素,也可以包含數百萬個元素。列表是新手可直接使用的最強大的python功能之一,它融合了眾多重要的程式設計概念。

1.1列表是什麼

 列表 由一系列按特定順序排列的元素組成。你可以建立包含字母表中所有字母,數字0-9或所有家庭成員姓名的列表;也可以將任何東西加入列表中,其中的元素之間可以沒有任何關係。鑑於列表通常包含多個元素,給列表指定一個表示複數的名稱(如letters,digits或names)是個不錯的注意。

在Python中,用方括號([])表示列表,用逗號分隔其中的元素。

1.2訪問列表元素

列表是有序集合,因此要訪問列表的任何元素,只需將該元素的位置或索引告訴python即可。要訪問 列表的元素,可指出列表的名稱,在指出元素的索引,並將其放在方括號內。

1.2.1在python中,第一個列表元素的索引為0,而不是1.在大多數程式語言中都是如此,這與列表的底層實現有關。Python為訪問最後一個列表元素提供了一種特殊語法,通常將索引指定為-1,可讓python返回最後一個列表元素。這種約定也適合其他複數索引,例如-2返回倒數第二個元素。索引-3返回倒數第三個列表元素,以此類推。

 

1.2.2使用列表中的各個值

可以像使用其他變數一樣使用列表中的各個值。例如:可以使用拼接根據列表中的值來建立訊息。

1.3修改、新增和刪除元素

 1.3.1修改列表元素

修改列表元素的語法與訪問列表元素的語法類似。要修改列表元素,可指定列表名和要修改的元素的索引,再指定該元素的新值。

1.3.2在列表中新增元素

  1、在列表末尾新增元素

   在列表中新增新元素時,最簡單的方式是將元素附加到列表末尾。給列表附加元素時,他將新增到列表末尾。

 方法append()將元素新增到列表末尾,而不影響列表中其他所有元素。Append(讓動態建立列表易如反掌,例如,可以建立一個空列表,在使用一系列的append()語句新增元素。

  

 2、在列表中插入元素

   使用方法insert()

可在列表的任何位置新增新元素。為此,你需要指定新元素的索引和值。

    

insert()插入時,索引大於列表長度時,插入在列表末尾。

1.3.3從列表中刪除元素

可以根據位置或值來刪除列表中的元素

  1. 用delete語句刪除元素

如果知道要刪除元素在列表中的位置,可用del語句。

使用del語句可刪除任何位置處的列表元素,條件是知道其索引。

使用del語句將值從列表中刪除後就無法再訪問了

         2、使用pop()刪除元素

有時候,要將元素從列表中刪除,並接著使用它的值。方法pop()可刪除列表末尾的元素,並讓你接著使用它。術語彈出(pop)源自這樣的類比:列表就像一個棧,而刪除列表末尾的元素相當於彈出棧頂元素。

 

方法pop是怎麼起作用的呢???????

       3、彈出列表中任何位置處的元素

實際上,可以使用pop()來刪除列表中任何位置的元素,只需在括號中指定要刪除元素的索引即可。

別忘了,每當使用pop()時,被彈出的元素就不再在列表中了。

如果你不確定該使用del語句還是pop()方法,下面是一個簡單的判斷標準:如果你要從列表中刪除一個元素,且不再以任何形式使用他,就用del語句;如果在刪除元素後還要繼續使用它,就用pop()方法。

        4、根據值刪除元素

有時候,不知道從列表中刪除的值所在的位置。如果你只知道要刪除的元素的值,可使用方法remove()

使用remove()從列表中刪除元素時,也可接著使用它的值。

注意,方法而move()只刪除第一個指定的值。如果要刪除的值可能在列表中出現多次,就需要使用迴圈來判斷是否刪除了所有這樣的值。

1.4組織列表

在你建立的列表中,元素的排列順序常常是無法預測的,因為你並非總能控制使用者提供資料的順序。這雖然在大多數情況下都是不可避免的,但你經常需要以特定的順序呈現資訊。有時候,你希望保留列表元素最初的排列順序,有時候又需要調整排列順序。Python提供了很多組織列表的方式,可根據具體情況選用。

        1.4.1使用方法sort()對列表進行永久性排序。

現在,汽車是按字母排序的,再也無法恢復到原來的排列順序。

也可以按與字母順序相反的順序排列列表元素,為此,只需向sort()方法傳遞引數reverse = True。同樣對列表元素排列順序的修改是永久性的。

      Python方法sort()讓你能較為輕鬆的對列表進行排序。

      1.4.2使用函式sorted()對列表進行臨時排序

        要保留列表元素原來的排序順序,同時以特定的順序呈現他們,可使用函式sorted(),函式sorted()讓你能夠按特定順序顯示列表元素,同時不影響他們在列表中的原始排列順序。

    

1.5倒著列印列表

要反轉列表元素的排列順序,可使用方法reverse()

注意reverse()不是按與字母順序相反的順序排列列表元素,而只是反轉列表元素的排列順序。方法reserve()永久性修改列表元素的排列順序,但可以隨時恢復到原來的排列順序,為此只需對列表再次呼叫reverse()即可。

1.6確定列表的長度 

使用函式len()可快速獲悉列表的長度。

注意:python計算列表元素時從1開始,因此確定列表長時,你應該不會遇到差一錯誤。

1.7使用列表時避免索引錯誤

剛開始使用列表時,經常會遇到一種錯誤。假設你有一個包含三個元素的列表,卻要獲取第四個元素,這將導致索引錯誤。

練習:

place = ['Tokyo','New York','Paris','turkey','cheng du']
print(place)

print('use sorted:')
print(sorted(place))
print(place)

print(sorted(place))

place.reverse()
print(place)

place.reverse()
print(place)

place.sort()
print(place)

place.sort(reverse = True)
print(place)