欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中remove函數(shù)的踩坑記錄

 更新時間:2021年01月04日 09:40:54   作者:JonnyJiang-zh  
這篇文章主要給大家介紹了關(guān)于python中remove函數(shù)的踩坑記錄,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

摘要:

在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)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論