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

代碼如下:

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

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

photoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網站設計培訓,網站建設培訓

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培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網站設計培訓,網站建設培訓

這個時候出現的結果完全不一樣,2,6,10這些根本不對,那么為什么啊?那么這里就得說一下for in和remove了,

For in 是對下標進行操作,而remove是對值進行操作

網友評論