python中remove函數(shù)的踩坑記錄
摘要:
在python的使用過程中,難免會遇到要移除列表中對象的要求。這時可以使用remove函數(shù)。
對于python中的remove()函數(shù),官方文檔的解釋是:Remove first occurrence of value.大意也就是移除列表中等于指定值的第一個匹配的元素。
語法
list.remove()
參數(shù)
obj 參數(shù):從列表中刪除的對象的索引
返回值
刪除后不會返回值
常見用法:
a = [1,2,3,4],a.remove(1),然后a就是[2,3,4];對于a = [1,1,1,2],其結(jié)果也是[1,1,2],這是最基本的用法。
但是對于下面這個:
a = [1,2,3,4] for i in a: a.remove(i) # 結(jié)果 a = [2,4]
或者說
a = [1,1,1,1,1,2] for i in a: a.remove(1) #結(jié)果 a = [1,1,2]
是不是跟想象中的不一樣,其主要原因如下(^表示當(dāng)前迭代器位于列表中的位置):
a = [ 1 , 2 , 3 , 4]
假設(shè)此時 ^
默認(rèn)情況下只想第一個元素,然后執(zhí)行a.remove(1),然后下標(biāo)向后移動,列表因?yàn)閯h除了元素,后面的向前移動,如下:
a = [ 2 , 3 , 4]
此時 ^
此時執(zhí)行a.remove(3),重復(fù)上面的移動
a = [ 2 , 4]
此時 ^
因?yàn)橐呀?jīng)到了列表的邊界,故結(jié)束遍歷,并返回`a = [2,4]`。
解決辦法:
# 一下為解決辦法之一 d = dict(zip(range(len(a)), a)) [v for k, v in d.items() if v != value]
總結(jié):
關(guān)于python列表的remove操作涉及了列表下標(biāo)的移動以及列表中元素的移動,涉及了一些關(guān)于數(shù)組的知識。其核心問題就是前面所說的。
到此這篇關(guān)于python中remove函數(shù)的踩坑記錄的文章就介紹到這了,更多相關(guān)python中remove函數(shù)坑內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 在Python的列表中利用remove()方法刪除元素的教程
- python dict remove數(shù)組刪除(del,pop)
- python刪除列表元素的三種方法(remove,pop,del)
- Python 使用os.remove刪除文件夾時報(bào)錯的解決方法
- 對python中數(shù)組的del,remove,pop區(qū)別詳解
- 深入了解Python中pop和remove的使用方法
- Python列表刪除元素del、pop()和remove()的區(qū)別小結(jié)
- Python列表list內(nèi)建函數(shù)用法實(shí)例分析【insert、remove、index、pop等】
- python for循環(huán)remove同一個list過程解析
- Python如何在循環(huán)內(nèi)使用list.remove()
相關(guān)文章
Python列表(List)知識點(diǎn)總結(jié)
在本篇文章中小編給大家分享了關(guān)于Python列表(List)知識點(diǎn)一直對應(yīng)的實(shí)例內(nèi)容,需要的朋友們學(xué)習(xí)下。2019-02-02python基于mysql實(shí)現(xiàn)的簡單隊(duì)列以及跨進(jìn)程鎖實(shí)例詳解
這篇文章主要介紹了python基于mysql實(shí)現(xiàn)的簡單隊(duì)列以及跨進(jìn)程鎖,需要的朋友可以參考下2014-07-07Python常用算法學(xué)習(xí)基礎(chǔ)教程
這篇文章主要學(xué)習(xí)Python常用算法,Python常用排序算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一2017-04-04python實(shí)現(xiàn)高斯(Gauss)迭代法的例子
今天小編就為大家分享一篇python實(shí)現(xiàn)高斯(Gauss)迭代法的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11Pytorch實(shí)現(xiàn)將模型的所有參數(shù)的梯度清0
這篇文章主要介紹了Pytorch實(shí)現(xiàn)將模型的所有參數(shù)的梯度清0,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06Python+requests+unittest執(zhí)行接口自動化測試詳情
這篇文章主要介紹了Python+requests+unittest執(zhí)行接口自動化測試詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下2022-09-09Django?url.py?path?name同一app下路由別名定義
這篇文章主要為大家介紹了Django?url.py?path?name同一app下路由別名定義詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07python中的不可變數(shù)據(jù)類型與可變數(shù)據(jù)類型詳解
探尋python的數(shù)據(jù)類型是否可變,也可以更好的理解python對內(nèi)存的使用情況,下面這篇文章主要給大家介紹了關(guān)于python中不可變數(shù)據(jù)類型與可變數(shù)據(jù)類型的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-09-09python利用有道翻譯實(shí)現(xiàn)"語言翻譯器"的功能實(shí)例
小編就為大家分享一篇python利用有道翻譯實(shí)現(xiàn)"語言翻譯器"的功能實(shí)例。具有比較好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-11-11