【发布时间】:2011-03-26 14:24:56
【问题描述】:
我有一个清单如下:
lst = [-1.33, '', -1.33, -1.33 -2.62, 0, -2.66, 1.41, 0, 0, 1.40, '', 1.37, 0]
列表中有两个空元素'',带有多个零和浮点数。
如何删除空元素但保留零?如下...
lst2 = [-1.33, -1.33, -1.33 -2.62, 0, -2.66, 1.41, 0, 0, 1.40, 1.37, 0]
我尝试了以下方法:
lst2 = filter(None, lst)
和
lst2 = [x for x in lst if x if isinstance(x,str) == False]
但是,它也会删除零。
我知道浮点数返回 12 位小数,出于示例目的请忽略。
有什么建议吗? 谢谢。
【问题讨论】:
-
大家好,忘了补充,空字符串可能是几个空格。即
''、' '、' '。 -
要考虑空格,只需执行 x.strip() != ''