在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],結果真的是這樣嗎?
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]
這個時候出現的結果完全不一樣,2,6,10這些根本不對,那么為什么啊?那么這里就得說一下for in和remove了,
For in 是對下標進行操作,而remove是對值進行操作