如何使用Python将字符串列表转换为浮点列表?
如果我有一个字符串列表:如何使用Python将字符串列表转换为浮点列表?,python,python-2.7,pandas,Python,Python 2.7,Pandas,如果我有一个字符串列表: [' 3.2 4.5 7.8 9.2 4.3 4.7 5.2', ' 3.1 4.1 1.3 8.2 4.1 3.2 3.1', ' 3.1 4.2 5.7 3.2 4.1 3.0 1.9'] 如何将其转换为浮点列表,使结果如下所示: [[3.2, 4.5, 7.8, 9.3, 4.3, 4.7, 5.2], [3.1, 4.1, 1.3, 8.2, 4.1, 3.2, 3.1], [3.1, 4.2, 5.7, 3.2, 4.1, 3.0, 1.9]]
[' 3.2 4.5 7.8 9.2 4.3 4.7 5.2',
' 3.1 4.1 1.3 8.2 4.1 3.2 3.1',
' 3.1 4.2 5.7 3.2 4.1 3.0 1.9']
如何将其转换为浮点列表,使结果如下所示:
[[3.2, 4.5, 7.8, 9.3, 4.3, 4.7, 5.2],
[3.1, 4.1, 1.3, 8.2, 4.1, 3.2, 3.1],
[3.1, 4.2, 5.7, 3.2, 4.1, 3.0, 1.9]]
使用
输出:
[[3.2, 4.5, 7.8, 9.2, 4.3, 4.7, 5.2], [3.1, 4.1, 1.3, 8.2, 4.1, 3.2, 3.1], [3.1, 4.2, 5.7, 3.2, 4.1, 3.0, 1.9]]
按空格分割元素str.split()
对所有元素应用float李>map(float,'YOURLIST')
numbers = [' 3.2 4.5 7.8 9.2 4.3 4.7 5.2',
' 3.1 4.1 1.3 8.2 4.1 3.2 3.1',
' 3.1 4.2 5.7 3.2 4.1 3.0 1.9']
print([[float(number) for number in number_list.split()] for number_list in numbers])
print([list(map(float,i.strip().split())for i in l])
这个列表是如何形成的?实际上您不需要list(…)
wrap@dheiberg对于OP,您是正确的(Py2.7),但您在Py3中是正确的-map()
返回一个迭代器,这很好地说明了这一点。@dheiberg。。谢谢,我没有看到python2.7标记。在对列表中的所有元素执行重复操作时,使用map
,例如float()
numbers = [' 3.2 4.5 7.8 9.2 4.3 4.7 5.2',
' 3.1 4.1 1.3 8.2 4.1 3.2 3.1',
' 3.1 4.2 5.7 3.2 4.1 3.0 1.9']
print([[float(number) for number in number_list.split()] for number_list in numbers])