刚才在写ip
代理池的时候,遇到一个报错,'dict' object cannot be interpreted as an integer
然后写了一个demo
iplist = [11, 12, 13, 14, 15, 19, 85, 105, 148, 15]
for x in iplist:
print('---',x)
if x > 14:
# print(x)
iplist.remove(x)
print(iplist)
猜一下输出结果
--- 11
--- 12
--- 13
--- 14
--- 15
--- 85
--- 148
[11, 12, 13, 14, 19, 105, 15]
然后请教了一下大佬
==不要在遍历列表的时候对列表进行操作=
不要在遍历列表的时候,对列表进行修改
for 循环其实是取的下标,要递增或递减
直接.remove
导致后面元素下表前移
remove
会改变list
的index
,所以不推荐遍历的时候修改列表
删掉会指针异常
推荐用map filter reduce