作者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
1F:→ blc:print type(L) == type(list()) 或 print type(L) == 'list' 12/04 21:19
2F:推 jimmylin212:谢谢啦,不过只有在BBS上会这样取名字,平常再写变数 12/09 00:18
3F:→ jimmylin212:都很长 12/09 00:19