def try_parse(s):
try:
f = float(s)
return 1
except ValueError:
return 0
test = ["1.0","2.0","3","asdf","1.0f","1f","@#$aa1", "4"]
t2 = [i for i in test if try_parse(i)==1]
print(t2)
给你:
['1.0', '2.0', '3', '4']
如果你想让它们直接浮动:
def try_parse(s):
try:
return float(s)
except ValueError:
return 'error'
test = ["1.0","2.0","3","asdf","1.0f","1f","@#$aa1", "4"]
t2 = [try_parse(i) for i in test if try_parse(i)!='error']
print(t2)
使用
try
块比使用正则表达式更容易:如果您只想要数字,可以执行以下操作:
给你:
如果你想让它们直接浮动:
提供:
您可以使用
re.match
:r'^[\d.]+$'
将只匹配长度为1或更多的点和数字的任何组合。你知道吗相关问题 更多 >
编程相关推荐