Python list列表刪除元素的4種方法
在 Python 列表中刪除元素主要分為以下 3 種場(chǎng)景:
- 根據(jù)目標(biāo)元素所在位置的索引進(jìn)行刪除,可以使用 del 關(guān)鍵字或者 pop() 方法;
- 根據(jù)元素本身的值進(jìn)行刪除,可使用列表(list類型)提供的 remove() 方法;
- 將列表中所有元素全部刪除,可使用列表(list類型)提供的 clear() 方法。
del:根據(jù)索引值刪除元素
del 是 Python 中的關(guān)鍵字,專門用來(lái)執(zhí)行刪除操作,它不僅可以刪除整個(gè)列表,還可以刪除列表中的某些元素。我們已經(jīng)在《Python列表》中講解了如何刪除整個(gè)列表,所以本節(jié)只講解如何刪除列表元素。
del 可以刪除列表中的單個(gè)元素,格式為:
del listname[index]
其中,listname 表示列表名稱,index 表示元素的索引值。
del 也可以刪除中間一段連續(xù)的元素,格式為:
del listname[start : end]
其中,start 表示起始索引,end 表示結(jié)束索引。del 會(huì)刪除從索引 start 到 end 之間的元素,不包括 end 位置的元素。
【示例】使用 del 刪除單個(gè)列表元素:
lang = ["Python", "C++", "Java", "PHP", "Ruby", "MATLAB"] #使用正數(shù)索引 del lang[2] print(lang) #使用負(fù)數(shù)索引 del lang[-2] print(lang)
運(yùn)行結(jié)果:
['Python', 'C++', 'PHP', 'Ruby', 'MATLAB']
['Python', 'C++', 'PHP', 'MATLAB']
【示例】使用 del 刪除一段連續(xù)的元素:
lang = ["Python", "C++", "Java", "PHP", "Ruby", "MATLAB"] del lang[1: 4] print(lang) lang.extend(["SQL", "C#", "Go"]) del lang[-5: -2] print(lang)
運(yùn)行結(jié)果:
['Python', 'Ruby', 'MATLAB']
['Python', 'C#', 'Go']
pop():根據(jù)索引值刪除元素
Python pop() 方法用來(lái)刪除列表中指定索引處的元素,具體格式如下:
listname.pop(index)
其中,listname 表示列表名稱,index 表示索引值。如果不寫 index 參數(shù),默認(rèn)會(huì)刪除列表中的最后一個(gè)元素,類似于數(shù)據(jù)結(jié)構(gòu)中的“出?!辈僮鳌?/p>
pop() 用法舉例:
nums = [40, 36, 89, 2, 36, 100, 7] nums.pop(3) print(nums) nums.pop() print(nums)
運(yùn)行結(jié)果:
[40, 36, 89, 36, 100, 7]
[40, 36, 89, 36, 100]
大部分編程語(yǔ)言都會(huì)提供和 pop() 相對(duì)應(yīng)的方法,就是 push(),該方法用來(lái)將元素添加到列表的尾部,類似于數(shù)據(jù)結(jié)構(gòu)中的“入?!辈僮?。但是 Python 是個(gè)例外,Python 并沒(méi)有提供 push() 方法,因?yàn)橥耆梢允褂?append() 來(lái)代替 push() 的功能。
remove():根據(jù)元素值進(jìn)行刪除
除了 del 關(guān)鍵字,Python 還提供了 remove() 方法,該方法會(huì)根據(jù)元素本身的值來(lái)進(jìn)行刪除操作。
需要注意的是,remove() 方法只會(huì)刪除第一個(gè)和指定值相同的元素,而且必須保證該元素是存在的,否則會(huì)引發(fā) ValueError 錯(cuò)誤。
remove() 方法使用示例:
nums = [40, 36, 89, 2, 36, 100, 7] #第一次刪除36 nums.remove(36) print(nums) #第二次刪除36 nums.remove(36) print(nums) #刪除78 nums.remove(78) print(nums)
運(yùn)行結(jié)果:
[40, 89, 2, 36, 100, 7]
[40, 89, 2, 100, 7]
Traceback (most recent call last):
File "C:\Users\mozhiyan\Desktop\demo.py", line 9, in <module>
nums.remove(78)
ValueError: list.remove(x): x not in list
最后一次刪除,因?yàn)?78 不存在導(dǎo)致報(bào)錯(cuò),所以我們?cè)谑褂?remove() 刪除元素時(shí)最好提前判斷一下。
clear():刪除列表所有元素
Python clear() 用來(lái)刪除列表的所有元素,也即清空列表,請(qǐng)看下面的代碼:
url = list("http://www.dhdzp.com/python/")
url.clear()
print(url)
運(yùn)行結(jié)果:
[]
到此這篇關(guān)于Python list列表刪除元素的4種方法的文章就介紹到這了,更多相關(guān)Python list列表刪除內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python計(jì)算牛頓迭代多項(xiàng)式實(shí)例分析
這篇文章主要介紹了python計(jì)算牛頓迭代多項(xiàng)式的方法,涉及Python數(shù)學(xué)運(yùn)算的相關(guān)技巧,需要的朋友可以參考下2015-05-05
Python 3.8新特征之a(chǎn)syncio REPL
我最近都在寫一些Python 3.8的新功能介紹的文章,在自己的項(xiàng)目中也在提前體驗(yàn)新的Python版本。這篇文章主要介紹了Python 3.8新特征之a(chǎn)syncio REPL,需要的朋友可以參考下2019-05-05
Python pandas讀取CSV文件的注意事項(xiàng)(適合新手)
這篇文章主要給大家介紹了關(guān)于Python pandas讀取CSV文件的注意事項(xiàng),非常適合新手,csv是我接觸的比較早的一種文件,比較好的是這種文件既能夠以電子表格的形式查看又能夠以文本的形式查看,需要的朋友可以參考下2021-06-06
如何通過(guò)Python的pyttsx3庫(kù)將文字轉(zhuǎn)為音頻
pyttsx3是一個(gè)開(kāi)源的Python文本轉(zhuǎn)語(yǔ)音庫(kù),可以將文本轉(zhuǎn)換為自然的人類語(yǔ)音,這篇文章主要介紹了如何通過(guò)Python的pyttsx3庫(kù)將文字轉(zhuǎn)為音頻,需要的朋友可以參考下2023-04-04
python實(shí)現(xiàn)跨excel sheet復(fù)制代碼實(shí)例
這篇文章主要介紹了python實(shí)現(xiàn)跨excel sheet復(fù)制代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
Python的多種對(duì)象工廠模式方便代碼維護(hù)擴(kuò)展
這篇文章主要為大家介紹了Python的多種對(duì)象工廠模式更方便我們進(jìn)行代碼維護(hù)擴(kuò)展,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01

