在python 中進行一次簡單的列表循環(huán),當用到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 當i不能夠整除4 的時候,a就在自己里面刪除這個時候的i 值,最后輸出的a的結(jié)果應該是[0,4,8,12,16,20,24,28],結(jié)果真的是這樣嗎?
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]
這個時候出現(xiàn)的結(jié)果完全不一樣,2,6,10這些根本不對,那么為什么???那么這里就得說一下for in和remove了,
For in 是對下標進行操作,而remove是對值進行操作
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26