久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

Python列表元素刪除和remove()方法詳解

瀏覽:139日期:2022-06-30 14:46:10

刪除列表中元素的方法有三種:

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)我們在具體實(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)對列表內(nèi)存進(jìn)行收縮,并移動(dòng)列表中的元素以保證元素之間沒有間隙,所以使用“循環(huán)+remove()方法”來刪除列表中某一重復(fù)元素時(shí),如果存在相鄰的該元素,在刪除前面一個(gè)元素后,后一個(gè)元素會(huì)被移動(dòng)到剛被刪除的這個(gè)元素的位置,這樣這個(gè)元素就“躲過了刪除”

Python列表元素刪除和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)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)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 綦江县| 东阳市| 咸宁市| 万山特区| 东乡| 隆林| 湟中县| 陕西省| 启东市| 广东省| 平遥县| 勐海县| 青铜峡市| 衡南县| 佛教| 刚察县| 治县。| 保定市| 金寨县| 温宿县| 浦北县| 兴文县| 灯塔市| 桑植县| 清水县| 云龙县| 海兴县| 吴川市| 阿拉善左旗| 永年县| 定结县| 巴林右旗| 清河县| 张家口市| 班戈县| 祥云县| 巴中市| 徐水县| 合阳县| 含山县| 贡嘎县|