如何使用Python将字符串列表转换为浮点列表?

时间:2018-08-14 14:52:36

标签: 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]]

2 个答案:

答案 0 :(得分:3)

使用

l = ['   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( [map(float, i.strip().split()) for i in l] )

输出:

[[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()可以按空间拆分元素
  • map(float, 'YOURLIST')将浮点数应用于所有元素。

答案 1 :(得分:1)

您可以使用以下代码:

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])