说我有一个清单:
v=['one','','two','three','',]
现在我想过滤掉所有空值:
for i in v:
if i==''
pass
else:
print(i)
我想在一行中这样做:
vr=[i if i!='' else pass for i in v]
发出吼声错误。
File "<console>", line 1
vr=[i if i!='' else pass for i in vt1]
^
SyntaxError: invalid syntax
请建议。
答案 0 :(得分:4)
您可以执行以下操作
>>> v=['one','','two','three','',]
>>> vr = [i for i in v if i]
>>> vr
['one', 'two', 'three']
答案 1 :(得分:2)
v=['one','','two','three','',]
print(*[i for i in v if i], sep='\n')
答案 2 :(得分:1)
vr=[i for i in v if i!='']
热潮
答案 3 :(得分:1)
如果您对不同的方法感兴趣
Python 3.x:
vr = list(filter(('').__ne__, v))
Python 2.x:
vr = filter(lambda a: a != '', v)