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

您的位置:首頁技術文章
文章詳情頁

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

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

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

1. del命令

使用del命令能夠刪除列表中指定位置上的元素,也可以刪除整個列表。

2. pop( )方法

使用列表的pop()方法能夠刪除并返回列表指定位置(默認為最后一個位置)的元素。

3. remove方法

使用列表的remove()方法能夠刪除列表中首次出現的指定元素,如果列表中不存在該元素則拋出異常。有的時候可能需要刪除列表中某一大量重復的數據,我們很容易就會想到列表的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)

結果:

List_1= [2, 2, 2, 2] List_2= [2, 2, 2, 1, 1, 2]

但是當我們在具體實現時很可能會遇到意想不到的錯誤,代碼有的時候能夠達到預期的刪除所有重復元素的效果,有的時候只能刪除部分重復元素,如上例所示。比較兩個列表,發現,列表x中所有的1都是不相鄰的,列表y中有的1是相鄰的。出現以上問題的原因在于,列表的內存自動管理功能,在刪除列表中的元素時,python會自動對列表內存進行收縮,并移動列表中的元素以保證元素之間沒有間隙,所以使用“循環+remove()方法”來刪除列表中某一重復元素時,如果存在相鄰的該元素,在刪除前面一個元素后,后一個元素會被移動到剛被刪除的這個元素的位置,這樣這個元素就“躲過了刪除”

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)

輸出結果:

List_1= [2, 2, 2, 2] List_2= [2, 2, 2, 2]

總結

到此這篇關于Python列表元素刪除和remove()方法詳解的文章就介紹到這了,更多相關Python列表元素刪除和remove()方法內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 宜章县| 辽中县| 九龙坡区| 古交市| 庆阳市| 精河县| 林甸县| 永兴县| 霍州市| 岳普湖县| 保亭| 阿坝县| 丹寨县| 溧水县| 鲁甸县| 翁牛特旗| 卓资县| 阿坝县| 固原市| 茌平县| 应用必备| 连城县| 天柱县| 玉树县| 大安市| 来凤县| 南木林县| 临沭县| 濮阳县| 镇康县| 丘北县| 开封市| 沂源县| 南通市| 阿克苏市| 海南省| 沂水县| 车险| 阳谷县| 秀山| 南乐县|