Python数组删除项目

时间:2013-03-13 10:08:17

标签: python list

我有阵列

a=['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '151 ihi Chun', '151 ihi Chun', '149 st Hg', '149 st Hg', '125 Tatane', '125 Tatane', '174 Sunnygat', '174 Sunnygat', '174 Sunnygat', '126 Nank', '126 Nank', '162 Rass', '162 Rass']

我想删除所有''个对象,但不能。

a.remove('')

while a.index(''): a.remove('')

没有帮助..

3 个答案:

答案 0 :(得分:6)

使用filter() callNone作为过滤器(测试真相,非空虚):

a = filter(None, a)

或列表理解:

a = [e for e in a if e]

如果您需要明确允许其他“false”值而想要过滤掉空字符串,请使用:

a = [e for e in a if e != '']

答案 1 :(得分:0)

如果这些项目实际上是'',换句话说,是空字符串,那么您可以使用以下内容:

a = [x for x in a if x]

由于在真值测试语句中使用空字符串时计算结果为false。

答案 2 :(得分:-1)

尝试

for i in a:
   a.remove('')
   a.remove('')

我也不确定为什么在第一次它没有删除所有,但在第二次确定它删除所有空白