Python 浮动字符串列表

Python 浮动字符串列表,python,floating-point,Python,Floating Point,我想问一个关于在python中将字符串转换为浮点数的问题 我有以下清单: coordinates_S >>> ['0.00000000', '0.00000000', '0.10224900'] 我想使用float() 显然,float(坐标不起作用: TypeError: float() argument must be a string or a number, not 'list' 这是有道理的 不过,我试过: flt_coordinates_S = [] f

我想问一个关于在python中将字符串转换为浮点数的问题

我有以下清单:

coordinates_S
>>> ['0.00000000', '0.00000000', '0.10224900']
我想使用
float()

显然,
float(坐标
不起作用:

TypeError: float() argument must be a string or a number, not 'list'
这是有道理的

不过,我试过:

flt_coordinates_S = []
    for item in coordinates_S:
        flt_coordinates_S += float(item)
i、 e.迭代列表中的每个项目,但不起作用。给出的错误为:

TypeError: 'float' object is not iterable
但我似乎不明白为什么。 我做错了什么


我没有发现一个涉及迭代列表中的项目并将其转换为浮点值的问题。

问题是您在本应使用
.append()
(用于将单个元素添加到列表中)时使用了
+=
(用于使用另一个列表中的元素扩展列表)。这就是为什么会出现错误,因为它认为
float(item)
是一个列表,因为您使用了
+=

coordinations\u=['0.00000000','0.00000000','0.10224900']
flt_坐标_S=[]
对于坐标中的项目:
飞行坐标附加(浮动(项目))
或者,如果您想在一行中完成此操作:

coordinations\u=['0.00000000','0.00000000','0.10224900']
flt_坐标_S=[坐标_S中项目的浮动(项目)]

flt\u坐标\u S+=float(item)
相当于
flt\u坐标\u S.extend(float(item))
+=
使用另一个iteable的内容扩展列表

您想在列表中附加一个
浮点值

flt_coordinates_S = []
for item in coordinates_S:
    flt_coordinates_S.append(float(item))

尝试此操作。代码的问题是+=。这适用于字符串或数字。若不将元素附加到列表中,可以使用map将列表中的所有元素直接转换为新列表

 flt_coordinates_S = list(map(float,coordinates_S))

另一种选择是,在第二个示例中,您可以尝试使用
list(map(float,coordinations))
。在列表上使用
+=
用于使用另一个集合扩展列表。您也可以通过列表理解
[float(elem)for elem In coordination\S]来完成此操作
措辞上的细微挑剔:
+=
不是“将列表附加到另一个列表”,而是从另一个iterable扩展列表,即按顺序附加每个元素。澄清了措辞。通常,你应该更喜欢理解而不是使用
映射
。它们的阅读效果更好。
 flt_coordinates_S = list(map(float,coordinates_S))