Python:从字符串中提取多个浮点数

mja*_*ham 5 python string

原谅我,我是 Python 新手。

给定一个以不确定长度的浮点数开头并以相同的浮点数结尾的字符串,我如何将它们提取到一个数组中,或者如果只有一个浮点数,只有一个。

例子:

"38.00,SALE ,15.20"
"69.99"
Run Code Online (Sandbox Code Playgroud)

我想返回:

[38.00, 15.20]
[69.99]
Run Code Online (Sandbox Code Playgroud)

sis*_*red 7

你也可以使用正则表达式来做到这一点

import re
s = "38.00,SALE ,15.20"
p = re.compile(r'\d+\.\d+')  # Compile a pattern to capture float values
floats = [float(i) for i in p.findall(s)]  # Convert strings to float
print floats
Run Code Online (Sandbox Code Playgroud)

输出:

[38.0, 15.2]
Run Code Online (Sandbox Code Playgroud)