python中 for迴圈的坑

2022-09-15 18:03:11 字數 498 閱讀 3561

刪除列表中 a = [11, 22, 33, 22, 22, 44, 55, 77, 88, 99, 11] 的 77,88,99 這3個數

輸出為:[11, 22, 33, 22, 22, 44, 55, 88, 11]

其中 88 沒有刪除掉,為什麼?

for 迴圈遍歷列表a的時候,雖然條件的 列表裡面的值,實際是從 索引0 開始遍歷列表,當 i=77,也就是索引為 7的時候,

執行了 a.remove(77),執行完之後,列表為

a = [11, 22, 33, 22, 22, 44, 55, 88, 99, 11], 此時,88到了索引 7的位置,

然後下一次遍歷,就是索引為8 位置的元素,而此時,索引為 8位置的資料是 99,所以99倍刪除了,88就被跳過了

python中迴圈刪除列表中元素時的坑

案例 def test data for i in data data.remove i return data data 1,2,3 print test data 乍一看以為會列印出空列表,因為test函式內通過for的方法將data中的元素都刪除了,其實不然,實際輸出如下 2 為什麼會產生這種...

python中的for迴圈

一 for迴圈概要 for迴圈是乙個通用序列迭代器,可遍歷任何有序的序列物件內的元素,包括字串 列表 元組 其他內建可迭代物件。一般格式 for in if break if continue else 二 for迴圈應用舉例 1 遍歷序列元素 for x in spam eggs ham prin...

python中的迴圈

一 while迴圈 語法 while condition block 當條件滿足,即condition為ture,進入迴圈體,執行block 例 flag 10 while flag print flag flag 1其執行結果為 1098 7654 321解釋 首先flag為10,在conditi...