空字符串列表在python中返回非零长度

时间:2013-05-14 14:11:41

标签: python linux list

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

listname = output.decode('utf8').rstrip().split('\n')

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

['']

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

因此我将len(listname)作为1。

如何删除此空字符串

3 个答案:

答案 0 :(得分:4)

我认为这就是你要找的东西:

filter(None,output.decode('utf8').rstrip().split('\n'))

详情:

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

P.S。在python 3+ filter中返回迭代器,因此请使用list(filter(..))

答案 1 :(得分:3)

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

答案 2 :(得分:1)

output = output.decode('utf8').rstrip()
if output:
    listname = []
else:
    listname = output.split('\n')