一、列表是什么?
列表由一系列按特定順序排列的元素組成。
可以創建包含字母表中所有字母、數字0-9或所有家庭成員姓名的列表;也可以將任何東西加入列表中,其中的元素之間可以沒有任何關系。
列表通常包含多個元素,給列表指定一個表示復數的名稱(如:letters、digits或names)
在Python中,用方括號([ ])來表示列表,并用逗號來進行分隔其中的元素。(如下圖)如果你讓Python將列表打印出來,Python將打印列表的內部表示,包括方括號。
1.1訪問列表元素
列表是有序集合,因此要訪問列表的任何原色,只需將該元素的位置或索引告知Python即可。要訪問列表元素,可指出列表的名稱,在指出元素的索引,并將其放在方括號內。
例如,下面的代碼從列表bicycle中提取第一款自行車:
以上演示了訪問列表元素的語法。當你請求獲取列表元素時,Python只返回該元素,二部包括方括號和引號。
1.2索引從0而不是1開始
在Python中,第一個列表元素的索引為0,而不是為1。第二個列表元素的索引為1。根據這種簡單的計數方式,要訪問列表的任何元素,都可將其位置減1,并將結果作為索引。
例如,要訪問第四個列表元素,可使用索引3。下面的代碼訪問索引1和3處的自行車,及輸出的值。
** Python為訪問最后一個列表元素提供了一種特殊語法。通過將索引指定為-1,可讓Python返回最后一個列表元素。這樣返回的值“specialized”。經常需要在不知道列表長度的情況下訪問最后的元素。這種約定也適用于其他負數索引,索引-2返回倒數第二個列表元素,以此類推。**
1.3使用列表中的各個值
可像使用其他變量一樣使用列表中的各個值。
下面將嘗試從列表中和提取第一款自行車,并使用這個值來創建一條消息。我們使用bicycle[2]的值生成了一個句子,并將其存儲在變量message中。(如下圖)
二、修改、添加和刪除元素
2.1修改列表元素
修改列表元素的語法與訪問列表元素的語法類似。要修改列表元素,可指定列表名和要修改的元素的索引,在指定該元素的新值。
例如,假設有一個自行車列表,其中的第五個元素為“Qbike”,如何修改它的值呢?
** 我們首先定義一個自行車列表,其中的第五個元素為“Qbike”。接下來,我們將第五個元素的值修改為“U-bicycle”,輸出標明,第五個元素值確實變了,其他沒變。(可以修改任何列表元素的值,不僅僅是第五個元素值)**
2.2在列表中添加元素
在列表中末尾添加元素
在列表中添加新元素時,最簡單的方式是將元素附加到列表末尾。方法append()將元素‘DDbike’添加到了列表末尾(如下圖)而不影響列表中的其他所有元素。
方法append()讓動態的創建列表易如反掌。可以先創建一個空列表,在使用一系列的append()語句添加元素。(如下圖)這種創建列表的方式極其常見,因為經常要等程序運行后,你才知道用戶要在程序中存儲哪些數據。為控制用戶,可先創建一個空列表,用于存儲用戶將要輸入的值,然后將用戶提供的每個新值附加到列表中。
在列表中插入元素
使用insert()可在列表的任何位置添加新元素。將值‘hellobike’被插入到了列表開頭;方法insert()在索引0處添加空間,并將值‘hellobike’存儲到這個地方。這種操作將列表中既有的每個元素都右移一個位置;
2.3從列表中刪除元素
使用del語句刪除元素:要刪除的元素在列表中的位置,可使用del語句。
上述的代碼使用del刪除了列表bicycle中的第三個元素——‘hellobike‘’,以此類推。
使用方法pop()刪除元素
有時候,你要將元素從列表中刪除,并接著使用它的值。方法pop()可刪除列表末尾的元素,并讓你能夠接著使用它。
我們首先定義并打印了列表bicycle。接下來,我們從這個列表中彈出一個值,并將其存儲到變量popped_bicycle中。然后我們打印這個列表,以核實從其中刪除了一個值。最后,我們打印彈出的值,以證明我們依然能夠訪問被刪除的值。
輸出表明,列表末尾的值‘hellobike’已刪除,它現在存儲在變量popped_bicycle中(如下圖)。
彈出列表中任何位置處的元素
實際上,你可以使用pop()來刪除列表中任何位置的元素,只需在括號中指定要刪除的元素的索引即可。
首先,我們彈出了列表中的第一款共享單車,然后在打印一條有關這輛自行車的消息。輸出的是一個簡單語句,描述了我想要騎的共享單車:
每當你使用pop()時,被彈出的元素就不在列表中了。
如果你要從列表中刪除一個元素,且不再以任何方式使用它,就是用del語句。
如果你要在刪除元素后還能繼續使用它,就使用方法pop()。
根據值刪除元素
有時候,你不知道要從列表中刪除的值所處的位置。如果你只知道要刪除的元素的值,可使用方法remove()。
使用remove()從列表中刪除元素時,可接著使用它的值。下面刪除值‘Qbike’,并打印一條消息,指出從列表中刪除的原因:
上述,我們將值‘Qbike’存儲在變量to_ride中。接下來,我們使用這個變量來告訴Python將哪個值從列表中刪除。最后,值‘Qbike’已經從列表中刪除。但它還存儲在變量to_ride中,打印并指出將‘Qbike’從列表bicycle中刪除的原因(如下圖)
注意:方法remove()只刪除第一個指定的值。如果要刪除的值可能在列表中出現多次,就需要使用循環來判斷是否刪除了所有這樣的值。