Python列表元素刪除和remove()方法詳解
刪除列表中元素的方法有三種:
1. del命令
使用del命令能夠刪除列表中指定位置上的元素,也可以刪除整個(gè)列表。
2. pop( )方法
使用列表的pop()方法能夠刪除并返回列表指定位置(默認(rèn)為最后一個(gè)位置)的元素。
3. remove方法
使用列表的remove()方法能夠刪除列表中首次出現(xiàn)的指定元素,如果列表中不存在該元素則拋出異常。有的時(shí)候可能需要刪除列表中某一大量重復(fù)的數(shù)據(jù),我們很容易就會(huì)想到列表的remove()方法,例如:
x=[1,2,1,2,1,2,1,2]
y=[1,1,2,1,2,1,2,1,1,1,2]
for i in x:
if i==1:
x.remove(i)
print("List_1=",x)
for i in y:
if i==1:
y.remove(i)
print("List_2=",y)
結(jié)果:
List_1= [2, 2, 2, 2]
List_2= [2, 2, 2, 1, 1, 2]
但是當(dāng)我們?cè)诰唧w實(shí)現(xiàn)時(shí)很可能會(huì)遇到意想不到的錯(cuò)誤,代碼有的時(shí)候能夠達(dá)到預(yù)期的刪除所有重復(fù)元素的效果,有的時(shí)候只能刪除部分重復(fù)元素,如上例所示。比較兩個(gè)列表,發(fā)現(xiàn),列表x中所有的1都是不相鄰的,列表y中有的1是相鄰的。出現(xiàn)以上問題的原因在于,列表的內(nèi)存自動(dòng)管理功能,在刪除列表中的元素時(shí),python會(huì)自動(dòng)對(duì)列表內(nèi)存進(jìn)行收縮,并移動(dòng)列表中的元素以保證元素之間沒有間隙,所以使用“循環(huán)+remove()方法”來刪除列表中某一重復(fù)元素時(shí),如果存在相鄰的該元素,在刪除前面一個(gè)元素后,后一個(gè)元素會(huì)被移動(dòng)到剛被刪除的這個(gè)元素的位置,這樣這個(gè)元素就“躲過了刪除”

對(duì)于以上問題代碼可以做如下修改:
x=[1,2,1,2,1,2,1,2]
y=[1,1,2,1,2,1,2,1,1,1,2]
for i in x:
if i==1:
x.remove(i)
print("List_1=",x)
while y.count(1)>0://或者while 1 in y:
for i in y:
if i==1:
y.remove(i)
print("List_2=",y)
輸出結(jié)果:
List_1= [2, 2, 2, 2]
List_2= [2, 2, 2, 2]
總結(jié)
到此這篇關(guān)于Python列表元素刪除和remove()方法詳解的文章就介紹到這了,更多相關(guān)Python列表元素刪除和remove()方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)的多線程同步與互斥鎖功能示例
這篇文章主要介紹了Python實(shí)現(xiàn)的多線程同步與互斥鎖功能,涉及Python多線程及鎖機(jī)制相關(guān)操作技巧,需要的朋友可以參考下2017-11-11
使用Python進(jìn)行有效的數(shù)據(jù)脫敏的常用方法
數(shù)據(jù)脫敏(Data Masking)是在數(shù)據(jù)處理和分析過程中,對(duì)敏感信息進(jìn)行處理,以保護(hù)個(gè)人隱私和企業(yè)機(jī)密的一種技術(shù)手段,數(shù)據(jù)脫敏的目的是不會(huì)泄露敏感信息,同時(shí)保持?jǐn)?shù)據(jù)的可用性和分析價(jià)值,本文給大家介紹了使用Python進(jìn)行有效的數(shù)據(jù)脫敏的常用方法,需要的朋友可以參考下2025-03-03
利用python實(shí)現(xiàn)凱撒密碼加解密功能
這篇文章主要介紹了利用python實(shí)現(xiàn)凱撒密碼加解密功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
python將數(shù)據(jù)插入數(shù)據(jù)庫的代碼分享
在本篇文章里小編給大家整理的是關(guān)于python將數(shù)據(jù)插入數(shù)據(jù)庫的代碼內(nèi)容,有興趣的朋友們可以參考下。2020-08-08
Python基礎(chǔ)之面向?qū)ο筮M(jìn)階詳解
這篇文章主要為大家詳細(xì)介紹了Python基礎(chǔ)之面向?qū)ο筮M(jìn)階,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-02-02

