在python 中進(jìn)行一次簡單的列表循環(huán),當(dāng)用到remove時出現(xiàn)了一個很有趣的現(xiàn)象,

代碼如下:

1 a=range(30)2 for i in a :3     if i%4!=0:4         a.remove(i)

這段代碼是在a里取i 當(dāng)i不能夠整除4 的時候,a就在自己里面刪除這個時候的i 值,最后輸出的a的結(jié)果應(yīng)該是[0,4,8,12,16,20,24,28],結(jié)果真的是這樣嗎? 

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

1 a=range(30)2 for i in a :3     if i%4!=0:4         a.remove(i)5         6 a7 [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28]

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

這個時候出現(xiàn)的結(jié)果完全不一樣,2,6,10這些根本不對,那么為什么?。磕敲催@里就得說一下for in和remove了,

For in 是對下標(biāo)進(jìn)行操作,而remove是對值進(jìn)行操作

網(wǎng)友評論