首頁 >後端開發 >Python教學 >python list刪除元素時要注意的坑點

python list刪除元素時要注意的坑點

不言
不言原創
2018-04-18 11:23:472033瀏覽

下面為大家分享一篇python list刪除元素時要注意的坑點分享,具有很好的參考價值,希望對大家有幫助。一起來看看吧

我們直接先給輸出與預期不同的程式碼

In[28]: a = [1,2,3,4,5,6]
In[29]: for i in a:
 ...:  a.remove(i)
 ...:  
In[30]: a
Out[30]: [2, 4, 6]

在上述for迴圈中,假設我們刪除了index=2的值,原本index=3及之後的值會向前補位,所以在迴圈中就跳過了原index=3的變數

同理,使用list.pop()函數刪除指定元素的時候,也會出現上述情況,如:

In[33]: a = [1,2,3,4,5,6]
In[34]: for index, value in enumerate(a):
 ...:  a.pop(index)
 ...:  
In[35]: a
Out[35]: [2, 4, 6]

如果我們想要循環刪除列表中的元素,較簡單的可用方法有:用一個臨時列表保存待刪除的元素,在for循環臨時列表來刪除舊列表中的元素;或者直接用剩餘元素列表覆寫原始列表

相關推薦:

python list排序的兩種方法及實例


以上是python list刪除元素時要注意的坑點的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn