【发布时间】:2014-11-29 07:35:36
【问题描述】:
我正在尝试将字符串列表转换为浮点数列表。我尝试过列表理解、映射,并简单地将其写在 for 循环中。我真的不想使用映射,因为即使使用list(map),我似乎也无法将其恢复到正确的列表中。
到目前为止,我的任何尝试都没有奏效,因为我无法找到 Python 3x 的正确语法。我最近的尝试似乎很有希望,但我不断收到以下错误。
Traceback (most recent call last):
File "G:/test.py", line 56, in <module>
heartdis_flt.append(float(item))
TypeError: float() argument must be a string or a number, not 'list'
这是我正在使用的代码:
heartdis = heartdis[5:]
heartdis_flt = []
for item in heartdis:
heartdis_flt.append(float(item))
print(heartdis_flt)
heartdis 是从 CSV 文件创建的字符串列表。
有人可以解释正确的语法或我的逻辑中的一些缺陷吗?
【问题讨论】:
-
这意味着
heartdis不是list,它是listoflistof something。 -
我明白了,所以我需要先将列表更改为字符串。谢谢!
-
一旦您实际向其提供浮点字符串列表,Map 就会正常工作。
print(list(map(float, ['1.2', '3', '3.1459'])))产生[1.2, 3.0, 3.1459]。
标签: python python-3.x