删除list中所有指定的元素
>>> c
[1, 1, 2, 3, 3, 3, 3, 4, 4]
我想删除c中所有的元素3,结果应该是:
>>> c
[1, 1, 2, 4, 4]
我的代码是:
ctr = c.count(c)
while ctr > 0 :
ctr = ctr - 1
c.remove(3)
但感觉效率有点慢,list中该元素有几个就需要遍历几次,请问有没有更高效的方法? list
[解决办法]
#!/usr/bin/env python
def deleteAll(l, n):
while True:
try:
l.remove(n)
except:
return
c = [1, 1, 2, 3, 3, 3, 3, 4, 4]
print c
deleteAll(c, 3)
print c