Python基礎:Python列表更新之刪除列表元素詳解
歡迎你來到站長在線的站長學堂學習Python知識,本文分享的是《Python列表更新之刪除列表元素詳解》。本知識點主要內容有:del:根據索引值刪除元素、pop():根據索引值刪除元素、remove():根據元素值進行刪除、clear():刪除列表所有元素。
歡迎你來到站長在線的站長學堂學習python知識,本文分享的是《Python列表更新之刪除列表元素詳解》。本知識點主要內容有:del:根據索引值刪除元素、pop():根據索引值刪除元素、remove():根據元素值進行刪除、clear():刪除列表所有元素。
在Python中添加、修改和刪除列表元素也稱為更新列表。在實際開發(fā)Python時,常常需要對列表進行更新,下面本知識點開始介紹如何在Python中刪除列表元素。
在 Python 列表中刪除元素主要分為以下 3 種場景(共4種方法):
a、根據目標元素所在位置的索引進行刪除,可以使用 del 關鍵字或者 pop() 方法。
b、根據元素本身的值進行刪除,可使用列表提供的 remove() 方法。
c、將列表中所有元素全部刪除,可使用列表提供的 clear() 方法。
下面針對這3種場景的4種方法進行一一講解:
1、del:根據索引值刪除元素
del 是 Python 中的關鍵字,專門用來執(zhí)行刪除操作,它不僅可以刪除整個列表,還可以刪除列表中的某些元素。
我們已經在《Python中列表的創(chuàng)建和刪除詳解》中講解了如何刪除整個列表,所以本節(jié)只講解如何刪除列表元素。
del 可以刪除列表中的單個元素,其語法格式為:
其中,listname 表示列表名稱,index 表示元素的索引值。
列如,定義一個保存一個3個元素的列表,刪除其中的一個元素,代碼為:
sousuo = ["baidu","sogou","bing"]
del sousuo[0] #刪除第一個,正數(shù)索引
#del sousuo[1] #刪除第二個
#del sousuo[-1] #刪除最后一個,負數(shù)索引
print(sousuo)
執(zhí)行結果為:
['sogou', 'bing']
>>>
看見了吧,我上面寫代碼的時候使用#代碼 注釋了第三行和第四行的,要不然去掉注釋,執(zhí)行下來,一個元素都不剩了,只是剩下[]了。
del 也可以刪除中間一段連續(xù)的元素,格式為:
del listname[start : end]
其中,start 表示起始索引,end 表示結束索引。del 會刪除從索引 start 到 end 之間的元素,不包括 end 位置的元素。
列如,定義一個保存5個元素的列表,刪除其中的第2~4個,不包括第4個,代碼如下:
jianzhan = ["Python","html","php","css","mysql"]
del jianzhan[1:3]
print(jianzhan)
執(zhí)行結果為:
['Python', 'CSS', 'MySQL']
>>>
當然,也可以定義一個保存5個元素的列表,刪除其中的第2~4個,包括第4個,代碼如下:
jianzhan = ["Python","html","PHP","CSS","MySQL"]
del jianzhan[1:4]
print(jianzhan)
執(zhí)行結果如下:
['Python', 'MySQL']
>>>
2、pop():根據索引值刪除元素
2.1、描述:pop() 函數(shù)用于移除列表中的一個元素(默認最后一個元素),并且返回該元素的值。
2.2、語法:pop()方法語法如下:
list.pop(-1)
2.3、參數(shù):可選參數(shù),要移除列表元素的索引值,不能超過列表總長度,默認為 index=-1,刪除最后一個列表值。
2.5、實例:
sousuo = ["baidu","sogou","bing"]
ss = sousuo.pop(1) #刪除列表中的第二個元素
print("刪除的項為 :", ss)
print("列表現(xiàn)在為 : ", sousuo)
運行結果如下:
刪除的項為 : sogou
列表現(xiàn)在為 : ['baidu', 'bing']
>>>
3、remove():根據元素值進行刪除
3.1、描述:remove() 函數(shù)用于移除列表中某個值的第一個匹配項。(而且必須保證該元素是存在的。)
3.2、語法:list.remove(obj)
其中l(wèi)ist為列表,obj為列表中要移除的對象。
3.3、返回值:該方法沒有返回值但是會移除列表中的某個值的第一個匹配項。
3.4、實例:remove() 方法使用示例操作:
num = [88, 66, 33, 17, 66, 28, 18]
num.remove(66) #第一次刪除66
print(num)
num.remove(66) #第二次刪除66
print(num)
num.remove(99) #刪除99
print(num)
執(zhí)行結果如下:
[88, 33, 17, 66, 28, 18]
[88, 33, 17, 28, 18]
Traceback (most recent call last):
File "D:\Python\Python310\Doc\000.py", line 6, in <module>
num.remove(99) #刪除99
ValueError: list.remove(x): x not in list
>>>
最后一次刪除,因為 99 不存在導致ValueError異常,所以我們在使用 remove() 刪除元素時最好提前判斷一下元素是否存在,改進后的代碼如下:
num = [88, 66, 33, 17, 66, 28, 18]
num.remove(66) #第一次刪除66
print(num)
num.remove(66) #第二次刪除66
print(num)
if num.count(99)>0: #判斷要刪除的元素99是否存在
num.remove(99) #指定刪除99
print(num)
執(zhí)行結果如下:
[88, 33, 17, 66, 28, 18]
[88, 33, 17, 28, 18]
[88, 33, 17, 28, 18]
>>>
說明:列表對象的count()方法是用于判斷指定的元素出現(xiàn)的次數(shù)返回的結果為0時,不是不存在該元素。關于count()方法的詳細介紹,我們在下一個知識點《在Python中對列表進行統(tǒng)計計算詳解》中會有詳細說明。
4、clear():刪除列表所有元素
在Python clear() 用來刪除列表的所有元素,即清空列表,請看下面的代碼:
s = ["床前明月光","疑是地上霜","舉頭望明月","低頭思故鄉(xiāng)"]
s.clear()
print(s)
運行結果為:
[]
>>>
到此為止,本文分享的是《Python列表更新之刪除列表元素詳解》主要知識點del:根據索引值刪除元素、pop():根據索引值刪除元素、remove():根據元素值進行刪除、clear():刪除列表所有元素就講完了,不懂的可以進群交流。
文末福利:
1、關注站長在線官方公眾號【站長在線】微信號:olzzcom ,文末也有公眾號二維碼,關注公眾號以后回復python,本站精心整理的Python書籍、軟件、工具都實時更新哦!本站所安裝的python3.10、 IDLE中文版 、PyCharm、Visual Studio Code、Sublime Text4等都在里面哦!
2、站長在線官方微信交流群已經開通了,微信掃碼進入,一起交流,一起進步!
本文地址:http://003188.cn/pythonshanchuliebiaoyuansu.html
阿里云虛擬主機1G空間,120元一年
香港、美國虛擬主機100元一年,1000元永久
騰訊云雙十一0.4折起,2核8G5M三年僅700元,2核4G8M三年僅198元
猜你喜歡