3 回答
TA贡献1829条经验 获得超4个赞
您需要指定一个分隔符,split否则它将默认为' '. 在这种情况下,您将使用split(','). 然后,您需要通过强制转换来转换这些数字float,正如 mhawke 提到的那样,将删除\n.
考虑到所有这些,您可以执行列表理解
In [17]: a = ['0.00244,-0.001908302,-0.001731396,0.002029896,0.000424,0.000291,0.000148\n']
In [18]: numbers = [float(n) for n in a[0].split(',')]
In [19]: numbers
Out[19]:
[0.00244,
-0.001908302,
-0.001731396,
0.002029896,
0.000424,
0.000291,
0.000148]
你也可以使用 map
In [22]: list(map(float, a[0].split(',')))
Out[22]:
[0.00244,
-0.001908302,
-0.001731396,
0.002029896,
0.000424,
0.000291,
0.000148]
TA贡献1808条经验 获得超4个赞
您可以尝试使用正则表达式从字符串中提取浮点值并转换为浮点数
list(map(float,re.findall(r'(\-?\d+.\d+)',a[0])))
出去:
[0.00244,
-0.001908302,
-0.001731396,
0.002029896,
0.000424,
0.000291,
0.000148]
TA贡献1828条经验 获得超13个赞
一种方法是在逗号上拆分:
'0.00244,-0.001908302,-0.001731396,0.002029896,0.000424,0.000291,0.000148'.split(',')
会导致:
['0.00244', '-0.001908302', '-0.001731396', '0.002029896', '0.000424', '0.000291', '0.000148']
添加回答
举报