python的for迴圈中remove或del的坑

2021-09-10 08:59:20 字數 422 閱讀 7675

a = [1,2,3,4,5]

for i in a:

a.remove(i)

print a

#[2,4]

1、當第一次刪除後,後面的元素會前移,此時a=[2,3,4,5]#第乙個元素可以正常刪除

2、然後指標下一次會指向新列表的第二個元素(即初始狀態的第三個位置),從而初始狀態的第二個位置被跳過了,初始第三個位置被刪除,接著後面的元素又再次前移(變成[2,4,5])

#指標對應的下標為2 ,因為發生位移,第二次遍歷的時候i的值直接指向第二位,也是3

3、指標指向新列表的第三個元素,即初始狀態的第5個元素5,然後5被刪除了,因此只剩下[2,4]

#第一次:a=[1,2,3,4,5]->a=1 第二次:a=[2,3,4,5]->指標發生變法i=3 同理第三次i=5

Python迴圈中的else

python迴圈中的else如果此迴圈迴圈完畢,那麼執行else後的語句,如果被break了,則不執行while中的else 正常情況 i 0while i 5 print i i 1else print else clause out put 01 234else clause 因為while迴圈...

Python迴圈中的continue與break

今天覆習python基礎,發現乙個有趣的現象,掉進乙個坑,差點沒爬起不來 先說break和continue的含義 break 在迴圈中,break 可以提前結束結束 迴圈 例如 n 1 while n 100 if n 10 當n 11時,條件滿足,執行break語句 break break語句會結...

python之迴圈中的那些事兒

盤點python中的迴圈也就那麼回事,廢話不羅嗦,下面一起看看吧!if 語句 python中if語句的一般形式如下所示 if condition 1 statement block 1 elif condition 2 statement block 2 else statement block 3...