利用list.remove()可以删除列表某一指定的元素第一次出现的位置的值
错误代码示范:
for i in a:
if i=='此用户未填写评价内容' :
a.remove('此用户未填写评价内容')
print(a.count('此用户未填写评价内容'))
print(len(a))>> 36正确代码示范:
for i in range(len(a)-1,-1,-1):
if a[i]=='此用户未填写评价内容' :
a.remove('此用户未填写评价内容')
print(a.count('此用户未填写评价内容'))
print(len(a))>> 0(列表a中共有334条‘此用户未填写评价内容’)
错误及原因
问题在于错误的写法并没有语法上的错误,同样也能删除一部分指定的元素,但是却无法全部删除,而正确的写法能保证全部删除。
remove 在for 循环/正序循环中动态的改变了list的长度和每一个元素的位置,会产生列表下标越界错误,并不能把指定的元素全部删掉。