先來看看這么一段代碼
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]