1.初識串列(list)
串列由一系列按特定順序排列的資料元素組成,可以將任何型別資料元素加入串列中,其中的資料元素之間沒有任何關系,鑒于串列通常包含多個資料元素,給串列指定一個表示復數的名稱是個不錯的選擇,
在python中,用方括號[]來表示串列,并用逗號來分隔其中的資料元素,撰寫程式如下所示

運行結果如下所示

我們可以發現,用print來輸出串列型別的變數names,會將names串列的所有資料元素都輸出出來,
2.訪問串列
串列是有序集合,因此要訪問串列的任何資料元素,只需將該資料元素的位置或索引告訴python即可,訪問串列資料元素的語法格式,可指出串列的名稱,再指出資料元素的索引,并將其放在方括號內,如下所示:

我們如果要輸出第一個人的名字,也就是小明,拋開python規定,我們可撰寫如下程式,做個測驗,

運行結果如下所示

我們發現運行結果和我們想的不一致,問題出在哪里呢,問題出在索引值上,我們現實中的第一個是索引1,但是在python中的第一個是索引0,所以我們這里要對應python的第一個索引的話應該是索引0,也就是names[0],將程式做如下修改

運行結果如下所示

索引詳解圖

python為訪問最后一個串列元素提供了一種特殊語法,通過將索引指定為-1,可讓python回傳最后一個串列元素,程式如下所示:

運行結果如下所示

這種語法很有用,因為經常需要在不知道串列長度的情況下訪問最后的元素,這種約定也適用于其他負數索引,例如索引-2回傳倒數第二個串列元素,
索引詳解圖

3.使用串列資料元素
可像使用其他變數一樣使用串列中的資料元素,例如,可以使用字串拼接根據串列中的資料元素來創建訊息,
比如:向小紅打招呼,詢問已經學習python多長時間了,程式 如下所示

運行結果如下所示

4.修改串列資料元素
修改串列資料元素的語法與訪問串列資料元素的語法類似,要修改串列資料元素,可指定串列名和要修改的資料元素的索引,再指定該資料元素的新值,
假設將第一個資料元素的姓名修改為小花,撰寫程式如下所示

運行結果如下所示

可以根據索引值修改任何串列資料元素的值,而不是僅僅第一個資料元素的值,
5.添加串列資料元素
python提供了多種在既有串列中添加新資料元素的函式
5.1在串列末尾添加資料元素(append函式)
在串列中添加新資料元素時,最簡單的方式是將資料元素附加到串列末尾,
其語法格式:串列變數名.append(資料元素)
撰寫程式做如下所示:

運行結果如下所示

append()方法讓動態地創建串列十分簡單,例如,可以先創建一個空串列,再使用一系列的append()陳述句添加資料元素,撰寫程式如下所示:

運行結果如下所示

可以發現創建的串列與上面的一致,這種創建串列的方式極其常見,因為經常要等程式運行后,才知道在程式中需要存盤哪些資料,
5.2在串列中插入資料
使用insert函式可在串列的任何位置添加新資料元素,為此,需要指定新資料元素的索引和值,
其語法格式為:串列變數名.insert(要插入的索引值,要插入的資料)
假設我們要將小黃插入到名字串列中索引第0個的位置,撰寫程式如下所示:

運行結果如下所示

由此可見,insert函式在將資料元素插入之后,其索引值和索引值之后的資料元素都將依次往后移1位,和現實中的插隊類似,
6.洗掉串列資料元素
經常需要從串列中洗掉一個或多個資料元素,可以根據索引值或值來洗掉串列中的資料元素,
6.1關鍵字del
在python中,del關鍵字主要用于物件,也可以用于洗掉變數,洗掉串列變數或者串列的一部分等,物件的概念后期會再介紹
如果知道要洗掉的資料元素在串列中的索引值,可使用del關鍵字,
其語法格式:del 要洗掉的物件/變數/串列/串列部分
我們分別從洗掉串列單個資料元素,連續多個資料元素,串列變數來介紹
6.1.1洗掉單個串列資料元素
假設我們要把小明進行洗掉,我們發現小明所在的索引位置為0
于是撰寫程式如下所示:

運行結果如下所示

6.1.2洗掉連續多個串列資料元素
假設我們要把連續著的小明和小紅同時洗掉,我們發現小明和小紅所在的索引位置是0和1,集合上表示的話就是說0到2,但不包括2,這里結合后面說的截取串列,可以將要洗掉的資料元素,也就是把小明和小紅放到一個截取的串列中,然后通過del進行洗掉,撰寫程式如下所示

輸出結果上,就只剩下小黑和小白了,
6.1.3洗掉串列變數
假設我們要把串列變數洗掉,而不是清空串列,撰寫程式如下所示

通過上面的輸出我們可以看到,程式報錯了,錯誤在第4行,提示names沒有被定義,也就是說names變數在輸出之前已經不存在了,也就是我們通過del關鍵字洗掉了,經過del關鍵字洗掉的串列變數,之后就不能夠被使用了,
6.2使用pop函式洗掉元素
有時候,要將資料元素從串列中洗掉,洗掉的同時,我們后續還需要使用它的值,比如,可能要將用戶從活躍成員串列中洗掉,并將其加入到非活躍成員串列中,
6.2.1洗掉串列末尾資料元素
pop函式可洗掉串列末尾的資料元素,并能夠接著使用它,pop源自這樣的類比:彈出,串列就像一個堆疊,而洗掉串列末尾的資料元素相當于彈出堆疊頂元素,
其語法格式:串列變數名.pop()
假設我們要洗掉小白,然后輸出小白已經被洗掉,撰寫程式如下所示:

運行結果如下所示

由此可見,pop函式是有回傳值的,回傳的是被洗掉的串列末尾元素,
6.2.2洗掉串列中任何位置處的資料元素
實際上,可以使用pop()來洗掉串列中任何位置的元素,只需在括號中指定要洗掉的元素的索引即可,
其語法格式:pop(索引值)
撰寫程式如下所示

運行結果如下所示:

我們可以發現使用pop函式彈出指定索引位置的資料元素后,后面的資料元素依次前移1位,
注意:我們洗掉元素時,如果不確定使用del關鍵字還是pop函式,下面是一個簡單的判斷標準:如果要從串列中洗掉一個資料元素,且不再以任何方式使用它,就用del關鍵字;如果你要在洗掉元素后還想繼續使用它,就使用pop函式,
6.3根據值洗掉資料元素
有時候,不知道要從串列中洗掉的值所處的索引值,而只知道要洗掉的資料元素的值,可使用remove函式
其語法格式:remove(資料元素值)
假設我們要洗掉小黑這個名字,撰寫程式如下所示

運行結果如下所示

我們可以發現,remove函式本身只是將資料元素根據值洗掉,但是因為我們知道資料元素的值,后期要是想著使用這個我們洗掉的值,我們可以先進行存盤,然后在用到的地方,再進行呼叫,
注意:remove()方法只洗掉第一個與指定元素值相同的資料元素,如果要洗掉的資料元素可能在串列中出現多次,就需要使用回圈來判斷是否洗掉了所有這樣的值,這會在后面進行介紹
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/554030.html
標籤:Python
下一篇:返回列表
