[問題] list.pop() 問題

看板Python作者 (JimmyG)時間14年前 (2010/11/22 09:55), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串1/5 (看更多)
想請一個程式片段的錯誤 list = [ [1,a],[1,b],[2,c],[2,d],[3,e],[4,f],[5,g] ] for i in range(0, len(list)): if list[i][0] == 1: list.pop(i) 當我執行這段程式的時候最後結束都會 index out of range 最後大概會有一兩個長度的誤差,就是會讀到空的地方 想請問會出現這種問題是為什麼呢? 另外要怎麼解決呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.118.155.55

11/22 10:12, , 1F
你在for loop裡把list和i印出來看看就知道了
11/22 10:12, 1F

11/22 20:48, , 2F
那就 list = [x for x in list if x[0]!=1]
11/22 20:48, 2F
文章代碼(AID): #1CwSs8OR (Python)
討論串 (同標題文章)
文章代碼(AID): #1CwSs8OR (Python)