python-循環(huán)列表刪除值時值得注意的地方

先來看看這么一段代碼

aList?=?[2,4,5,6,7]

for?var?in?aList:????

????if?var?%?2?==0:????????

? ? ????aList.remove(var)

print(aList)

在本菜雞看完代碼后脫口而出結(jié)果是:[5,7]

運(yùn)行代碼后,結(jié)果顯示為:[4, 5, 7]

(哼,要是有那么簡單就又讓我少了一個踩坑的機(jī)會(強(qiáng)力挽尊))

那么這是為什么呢?

首先需要明確的一點(diǎn)是,python中循環(huán)遍歷數(shù)組時是按照數(shù)組的索引來的

在本例中,首先刪除了索引為0的“2”,這時原本索引為1的“4”,索引變成了“0”,而循環(huán)指向?yàn)樗饕?”,即此時索引為1的“5”,跳過了此時索引為0的“4”,故最后結(jié)果為[4, 5, 7]

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容