您好我需要拆分包含字符串的列表。有些字符串是单词,其他字符是数字。
我必须漂浮它们
x = ['2','45','0.34','4.5','text','wse','56',]
我尝试了什么:
FloatList = [x for x in Mylist if isinstance(x, float)]
但它会打印空列表:
[]
你能指出我在哪里错了。
所以我需要过滤数字字符串中的单词,在sep中浮动字符串。列表
答案 0 :(得分:1)
这些都是字符串对象,START_REDELIVER_INTENT
不是'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]