-1

代码

    for i in range(num):
           # for j in range(4):
              lines = outf1.readline()
              brr[i]= list(map(float, lines.split()))

这是我的输入数据集

['1', '1.52101', '13.64', '4.49', '1.1', '71.78', '0.06', '8.75', '0', '0', '1']
['2', '1.51761', '13.89', '3.6', '1.36', '72.73', '0.48', '7.83', '0', '0', '1']
['3', '1.51618', '13.53', '3.55', '1.54', '72.99', '0.39', '7.78', '0', '0', '1']

我正在使用 SOM 算法。我有一个包含具有 4 或 5 个十进制值的浮点值的文件。我需要检索这些值并存储到数组中。

4

2 回答 2

1

ast.literal_eval()应该做的伎俩:

In [12]: line = "['1', '1.52101', '13.64', '4.49', '1.1', '71.78', '0.06', '8.75', '0', '0', '1']"

In [13]: map(float, ast.literal_eval(line))
Out[13]: [1.0, 1.52101, 13.64, 4.49, 1.1, 71.78, 0.06, 8.75, 0.0, 0.0, 1.0]
于 2014-11-06T11:24:24.460 回答
0

您似乎正在split输入一条以 开头的行['1',因此该方括号当然会成为问题。

快速修复是只strip删除每一行(以确保没有空格),然后删除第一个和最后一个字符以摆脱括号。

于 2014-11-06T11:23:41.633 回答