我正在从文本文件中读取字符串信息并将它们放入列表中,其中一行是这样的:
30121,long,Mehtab,10,20,,30
我希望从这个列表中删除 ,, 之间的空值,但是一直没有结果。我尝试过使用 .remove() 和 filter() 。Python 将其读取为 'str' 值。
>>> import re
>>> re.sub(',,+', ',', '30121,long,Mehtab,10,20,,30')
'30121,long,Mehtab,10,20,30'
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']
",".join([element for element in string.split(",") if element])
element.strip()
作为条件来过滤掉只有空格的字符串。过滤器应该可以正常工作。首先,我将数据写入一个列表,然后使用过滤操作来过滤出列表中为空的项目。换句话说,只取那些不为空的项目。
data = list("30121","long","Mehtab",10,20,"",30)
filtered_data = list(filter(lambda str: str != '', data))
print(filtered_data)
','.join([i for i in s.split(',') if i])
。 - user3483203