我有一个包含以下数据的字典设置:
其值是字符串的列表:
['2 1 0\n', '3 0 1\n', '4 0 3\n' .... ]
['-3.85995e-17 1.26224e+00 2.63053e-01\n']
有没有办法可以将值转换为浮点数列表,而不必使用太多循环?
答案 0 :(得分:0)
您可能必须找到一个处理此类数据的库来为您执行此操作,我不知道将字符串转换为浮点列表的任何本机python方法。 如果你想节省空间,最简单的方法就是编写自己的函数来获取你的一个值并返回一个浮点列表。
例如:
def string_to_float_list(string):
split = string.strip().split(" ")
floats = []
for s in split:
if len(s) == 0:
continue
floats.append(float(s.strip()))
return floats
接受输入:
string = '-3.85995e-17 1.26224e+00 2.63053e-01\n'
提供输出:
[-3.85995e-17, 1.26224, 0.263053]
答案 1 :(得分:0)
谢谢Xorgon!
我也尝试使用列表推导如下:
Connectivity = ['2 1 0\n', '3 0 1\n', '4 0 3\n']
aaa = [k.strip() for k in Connectivity]
bbb = [k.split() for k in aaa]
ccc = [[float(j) for j in i] for i in bbb]
但有更快的方法吗?原因是变量连接将包含大约500万个项目