【问题标题】:Converting string series to float list in python在python中将字符串系列转换为浮点列表
【发布时间】:2026-02-12 10:15:02
【问题描述】:

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

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

5.2 5.6 5.3

并将其转换为浮动列表

lsit = [5.2,5.6,5.3]

如何做到这一点?

【问题讨论】:

  • 您的变量真的被称为lsit 还是问题中的拼写错误?如果它是list,那么我还应该补充一点,你不应该使用list 作为变量名,因为它隐藏了一个同名的内置函数。

标签: python


【解决方案1】:

尝试列表理解:

s = '5.2 5.6 5.3'
floats = [float(x) for x in s.split()]

在 Python 2.x 中也可以使用 map:

floats = map(float, s.split())

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

【讨论】:

  • 只是想补充一点,Decimal 可能是处理浮点数的更好选择。 docs.python.org/library/decimal.html
  • 在尝试使用此代码时出现错误“无法将字符串转换为浮点数”