如何解析python中的浮点列表?

时间:2013-11-23 21:13:43

标签: python file map

我是python的新手,我有一个C程序可以输出像这样的浮点数列表:

f11
f12
...
f1n

f21
f22
...
f2m

.
.
.
fk1
...
fkl

我想把这些花车放到列表清单中:

[[f11,...], [f21, ...], ..., [fk1,...]]

我有一个解决方案(使用特定的浮点数作为分隔符),但它非常难看。输入的格式是灵活的...有一个简单的解决方案吗?

1 个答案:

答案 0 :(得分:2)

假设您的数字看起来像这样:

1.435235
3.23421
4.523421
42.3241

-1.2342
0.09901
134134.2

1.2342111
13.111
14.23521

...每组数字由两个换行符分隔,你可以这样:

def parse_group(group):
    return [float(n) for n in group.split('\n')]

def get_numbers(string, separator='\n\n'):
    groups = str.split(separator)
    return [parse_group(group) for group in groups]

在您的函数上调用get_numbers应该会产生类似于:

的内容
>>> print get_numbers(input)
[[1.435235, 3.23421, 4.523421, 42.3241], [-1.2342, 0.09901, 134134.2], [1.2342111, 13.111, 14.23521]]

这假定每个组由两个换行符(空行)分隔,但您可以相应地对其进行参数化。