嗨,我需要拆分一个包含字符串的列表。一些字符串是单词,另一些是数字。
我得让它们浮起来
x = ['2','45','0.34','4.5','text','wse','56',]
我试过的是:
FloatList = [x for x in Mylist if isinstance(x, float)]
但是它打印空列表:
[]
你能指出我哪里错了吗。
所以我需要过滤数字字符串中的单词,在九月浮动字符串。列表
发布于 2015-12-08 07:25:28
这些都是字符串对象,'1.2'
不是1.2
>>> type('1.2')
<class 'str'>
>>> type(1.2)
<class 'float'>
>>>
在检查之前,你应该把它们伪装成浮动物体。
由于如果float()
函数未能隐藏给它的字符串,它将引发ValueError
,因此可以使用try...except
捕获该错误:
>>> l = []
>>> x = ['2','45','0.34','4.5','text','wse','56']
>>> for i in x:
... try:
... l.append(float(i))
... except ValueError:
... pass
>>> l
[0.34, 4.5, 2, 45, 56]
https://stackoverflow.com/questions/34150161
复制相似问题