在python中将字符串系列转换为浮点列表

Mic*_*l F 33 python

我对编程很陌生,所以我希望这个问题很简单.

我需要知道如何在一行上转换由空格分隔的数字的字符串输入:

5.2 5.6 5.3
Run Code Online (Sandbox Code Playgroud)

并将其转换为浮点列表

lsit = [5.2,5.6,5.3]
Run Code Online (Sandbox Code Playgroud)

如何才能做到这一点?

Mar*_*ers 63

尝试列表理解:

s = '5.2 5.6 5.3'
floats = [float(x) for x in s.split()]
Run Code Online (Sandbox Code Playgroud)

在Python 2.x中,它也可以使用map完成:

floats = map(float, s.split())
Run Code Online (Sandbox Code Playgroud)

请注意,在Python 3.x中,第二个版本返回地图对象而不是列表.如果您需要一个列表,您可以将其转换为一个调用列表list,或者只使用列表推导方法.

  • 只是想补充一点,Decimal可能是处理浮点数的更好选择.http://docs.python.org/library/decimal.html (2认同)