当前位置:   article > 正文

移除list中所有的""空元素_list去除全空对象

list去除全空对象

移除list中的""空元素

list_1 = ['', '0', '', 's', '', '', '', '', '', '', '6']
print(len(list_1))
for i in list_1:
    if i == '':
        list_1.remove(i)
    else:
        pass
print(list_1)
print(len(list_1))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
'
运行

输出结果

11
['0', 's', '', '', '', '6']
6
  • 1
  • 2
  • 3
'
运行

问题:为什么列表中还是有""空元素,但是如果我的list_1中空元素个数变化的话,输出结果list_1中的空元素个数也不相同

原因:for的计数器是依次递增的,但列表的内容已通过remove更改,计数器为0的时候判定list中的第一个元素,计数器为1的时候判断列表中的第二个元素,但是原来的列表已经发生了变化,第一个元素为空已经被删除,第二个元素就成了第一个元素,所以判定的时候就会跳过remove后的第一个元素,所以后面可能会跳过很多“”空元素;这种情况可以使用while处理

list_1 = ['', '0', '', 's', '', '', '', '', '', '', '6', '', '', '', '', '', '']
print(len(list_1))

while "" in list_1:
    list_1.remove("")

print(list_1)
print(len(list_1))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
'
运行
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/924517
推荐阅读
相关标签
  

闽ICP备14008679号