下面為大家分享一篇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刪除元素時要注意的坑點的詳細內容。更多資訊請關注PHP中文網其他相關文章!