使用清單的時候需要用到很多方法,例如遍歷清單、尋找元素、增加元素、刪除元素、改變元素、插入元素、清單排序、逆序列表等操作。
部分操作會透過對應函數去完成,函數介紹如下表:
遍歷列表通常採用for迴圈的方式以及for迴圈和enumerate()函數搭配的方式去實作。
這種方式比較簡單,前面講for迴圈的時候也用到過很多次直接用於遍歷,循環執行,看一下程式碼。
first_list=[1,2,3,4]#先定義一個列表foriinfirst_list:#i為用於保存從列表中取得到的元素值,要輸出元素的時候直接輸出i即可。 print(i)
輸出結果:
1234
enumerate函數在序列中提到過一次,它的作用是把序列組合成一個索引序列,我們配合for循環使用的時候,能得到列表中的元素及其索引值。
語法格式為:
forindex,elementinenumerate(list):
index值的是索引值, element指元素, list值我們要遍歷的列表,下面看個例子。
my_list=['小明','小華','小天','小娜','小美','小李']forindex,elementinenumerate(my_list):print('序號為:',index,'名字為:',element)
輸出結果為:
序號為:0名為:小明序號為:1名為:小華序號為:2名為:小天序號為:3名為:小娜序號為:4名名為:小美序號為:5名名為:小李
透過這種方式我們能更清楚的看到每個元素在清單中的位置。
在尋找元素的時候,我們可以使用index()方法,它會傳回元素的索引值,如果找不到元素就會報錯。
my_list=['小明','小華','小天','小娜','小美','小李']print(my_list.index('小天'))
輸出結果:
2
增加元素相對來說比較簡單,使用append()方法進行添加。
my_list=[]#建立一個空列表my_list.append(1)#新增一個元素1my_list.append(2)#新增一個元素2print(my_list)#輸出
輸出結果為:
[1,2]
刪除元素的時候我們通常會採用兩種方法,分別是根據索引值刪除和根據元素值刪除。
my_list=['小明','小華','小天','小娜','小美','小李']delmy_list[1]#刪除索引值為1的元素,對應為'小華'print(my_list)
輸出結果:
['小明','小天','小娜','小美','小李']
根據元素值刪除的時候我們會使用到remove()函數來刪除。
程式碼如下:
my_list=['小明','小華','小天','小娜','小美','小李','小天']my_list.remove('小天')#直接找到第一個為'小天'的元素print(my_list)
輸出結果:
['小明','小華','小娜','小美','小李','小天']
我們可以發現它只刪除了第一個名為'小天'的元素,如果想要全部刪除可以配合if語句等去進行刪除,大家可以自己去練習一下。
如果要改變清單中某個元素的值,我們可以採用直接變更的方式,例如:
my_list=['小明','小華','小娜','小美','小李','小天']my_list[0]='小明的哥哥'print(my_list)
輸出:
['小明的哥哥','小華','小娜','小美','小李','小天']
當我們想要在清單中某個位置增添一個元素的時候,我們可以採用insert(index,element)方法,index為索引位置,element為插入元素。
當元素插入到列表時,列表大小會擴大以容納新的元素。而先前在指定索引位置上的元素以及其後的所有元素則依序向後移動一個位置。
如果你指定了一個無效索引,不會引發異常。
如果指定的位置超過了清單末尾,元素會新增到清單未尾。
如果你使用負索引指定了一個非法索引,元索會加入到清單開始。
看個例子:
已知一個列表為: ['小明', '小華', '小娜', '小美', '小李', '小天'],我們需要在小明和小華之間插入一個元素'小張',那麼我們首先要找到的是小華的索引值為1,那麼我們就可以使用insert方法直接進行插入。
程式碼如下:
my_list=['小明','小華','小娜','小美','小李','小天']my_list.insert(1,'小張')print(my_list)
輸出結果為:
['小明','小張','小華','小娜','小美','小李','小天']
下一節我們來學習清單的排序和逆序。