从字符串列表中删除空白字符串值

时间:2018-07-19 04:17:03

标签: python string list

我正在从文本文件中读取字符串信息作为输入,并将其放入列表中,其中一行如下所示:

30121,long,Mehtab,10,20,,30

我想从此列表中删除部分之间的空值,但结果为零。我已经尝试过.remove()filter()。 Python将其读取为'str'值。

4 个答案:

答案 0 :(得分:1)

>>> import re
>>> re.sub(',,+', ',', '30121,long,Mehtab,10,20,,30')
'30121,long,Mehtab,10,20,30'

答案 1 :(得分:0)

使用split()remove()

In [11]: s = '30121,long,Mehtab,10,20,,30'

In [14]: l = s.split(',')

In [15]: l.remove('')

In [16]: l
Out[16]: ['30121', 'long', 'Mehtab', '10', '20', '30']

答案 2 :(得分:0)

您可以根据分隔符(为此使用“,”)分割字符串,然后在确保元素不为空之后使用列表推导合并元素。

",".join([element for element in string.split(",") if element])

如果我们只想用空格过滤掉字符串,我们也可以使用element.strip()作为条件。

答案 3 :(得分:0)

过滤器应该可以工作。首先,我将数据写入列表中,然后使用过滤器操作过滤掉列表中为空的项目。换句话说,只能取不为空的项目。

data = list("30121","long","Mehtab",10,20,"",30)
filtered_data = list(filter(lambda str: str != '', data))
print(filtered_data)