【发布时间】:2016-04-13 09:03:37
【问题描述】:
我有一个看起来像这样的列表
lst = ['a','b','43.23','c','9','22']
我想删除不能表示为浮点数的元素,因此我正在执行以下操作(尝试 1):
for i,j in enumerate(lst):
try:
lst[i]=float(j)
except:
lst.remove(j)
列表看起来像这样
lst = ['b', 43.23, '9', 22.0]
而我需要的是这个
lst = [43.23, 9.0 , 22.0]
所以我正在做以下事情:
for i,j in enumerate(lst):
try:
lst[i]=float(j)
except:
pass
lst = [i for i in lst if type(i) != str]
有更清洁的方法吗?
编辑:根据以下建议将示例列表的名称从“list”更改为“lst”。
【问题讨论】: