作者char1ie (Daylight's burning)
看板Python
標題Re: [問題] list.pop() 問題
時間Sat Dec 4 21:05:04 2010
※ 引述《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
→ blc:print type(L) == type(list()) 或 print type(L) == 'list' 12/04 21:19
推 jimmylin212:謝謝啦,不過只有在BBS上會這樣取名字,平常再寫變數 12/09 00:18
→ jimmylin212:都很長 12/09 00:19