Re: [問題] list.pop() 問題

看板Python作者 (Daylight's burning)時間14年前 (2010/12/04 13:05), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串5/5 (看更多)
※ 引述《jimmylin212 (JimmyG)》之銘言: : 想請一個程式片段的錯誤 : 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 : 最後大概會有一兩個長度的誤差,就是會讀到空的地方 : 想請問會出現這種問題是為什麼呢? : 另外要怎麼解決呢? 前面已經有人回答你, 用倒過來的 range 即可, 但我這兩年下來發現還有另一個也還算不無聊的問題, 就是你用了 list 當變數名稱, 這樣有時候會有麻煩.. 例如如果你接著寫 L = [1,2,3,4] print type(L) == list 結果是 False . -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.70.138

12/04 21:19, , 1F
print type(L) == type(list()) 或 print type(L) == 'list'
12/04 21:19, 1F

12/09 00:18, , 2F
謝謝啦,不過只有在BBS上會這樣取名字,平常再寫變數
12/09 00:18, 2F

12/09 00:19, , 3F
都很長
12/09 00:19, 3F
文章代碼(AID): #1C-Zo2KZ (Python)
討論串 (同標題文章)
本文引述了以下文章的的內容:
問題
2
2
完整討論串 (本文為第 5 之 5 篇):
問題
2
2
文章代碼(AID): #1C-Zo2KZ (Python)