ValueError:无法将字符串转换为float:'.'

Leo*_*Leo 1 python floating-point string-conversion valueerror

我有一个字符串列表(CD_cent)像这样:

2.374 2.559 1.204
Run Code Online (Sandbox Code Playgroud)

我想用浮点数乘以这些数字.为此,我尝试将字符串列表转换为浮点列表,例如:

CD_cent2=[float(x) for x in CD_cent]
Run Code Online (Sandbox Code Playgroud)

但我总是得到错误:ValueError: could not convert string to float: '.'.我想这意味着,它无法将点转换为浮点数(?!)但是我怎么能解决这个问题呢?为什么不识别点?

pyt*_*had 10

您需要split每个字符串,因为字符串具有多个值:

your_str = "2.374 2.559 1.204"

floats = [float(x) for x in your_str.split(' ')]
Run Code Online (Sandbox Code Playgroud)

有了一个列表,你可以做这样的事情:

li = [...]
floats = []

for s in li:
    floats.extend([float(x) for x in s.split(' ')])
Run Code Online (Sandbox Code Playgroud)

在您确切的情况下,您只有一个字符串CD_cent = 2.374 2.559 1.204,所以您可以:

floats = [float(x) for x in CD_cent.split(' ')]
Run Code Online (Sandbox Code Playgroud)