我正在从文本文件中读取字符串信息作为输入,并将其放入列表中,其中一行如下所示:
30121,long,Mehtab,10,20,,30
我想从此列表中删除部分之间的空值,但结果为零。我已经尝试过.remove()
和filter()
。 Python将其读取为'str'
值。
答案 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)