关于Linux:空字符串列表在python中返回非零长度

List of empty string returns non-zero length in python

本问题已经有最佳答案,请猛点这里访问。

我有一个在命令执行后返回的字符串列表,在''上拆分。

1
2
listname = output.decode('utf8').rstrip().split('
'
)

当我使用print(listname)打印时,我得到

1
['']

很明显,这是一个包含空字符串的列表

正因为如此,我将len(listname)设为1。

如何删除此空字符串


我想这就是你要找的:

1
2
filter(None,output.decode('utf8').rstrip().split('
'
))

详情:

1
2
>>> filter(None, ["Ford","Nissan",""])
['Ford', 'Nissan']

p.s.在python 3+filter中返回迭代器,因此使用list(filter(..))


1
2
listname = [item for item in output.decode('utf8').rstrip().split('
'
) if item]


1
2
3
4
5
6
output = output.decode('utf8').rstrip()
if output:
    listname = []
else:
    listname = output.split('
'
)