我們直接先給出輸出與預(yù)期不同的代碼
In[28]: a = [1,2,3,4,5,6]In[29]: for i in a: ...: a.remove(i) ...: In[30]: aOut[30]: [2, 4, 6]
在上述for循環(huán)中,假設(shè)我們刪除了index=2的值,原本index=3及之后的值會向前補位,所以在循環(huán)中就跳過了原index=3的變量
同理,使用list.pop()函數(shù)刪除指定元素的時候,也會出現(xiàn)上述情況,如:
In[33]: a = [1,2,3,4,5,6]In[34]: for index, value in enumerate(a): ...: a.pop(index) ...: In[35]: aOut[35]: [2, 4, 6]
如果我們想循環(huán)刪除列表中的元素,較簡單的可用方法有:用一個臨時列表保存待刪除的元素,在for循環(huán)臨時列表來刪除老列表中的元素;或者直接用剩余元素列表覆蓋原列表
以上這篇python list刪除元素時要注意的坑點分享就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答
圖片精選