将字符串转换为浮点列表(在python中)

时间:2018-05-15 11:48:39

标签: python

出于数据存储的目的,我试图从.txt文件中恢复浮动列表。从字符串开始:

ValueError: unconverted data remains: ,-350.7866656

我想恢复:

a = '[1.3, 2.3, 4.5]'

我期待像a = [1.3, 2.3, 4.5]之类的简单解决方案,但我找不到类似的东西。

5 个答案:

答案 0 :(得分:2)

使用 ast模块

<强>实施例

<td  *ngIf="table?.getInputType(column.key) && table?.isInputActive(column.key, rowIndex) && column.key != table?.buttonsColumn">
   <input *ngIf="table?.getInputType(column.key) != 'select' && column.key != table?.buttonsColumn" 
                     [id]="rowIndex" [type]="table?.getInputType(column.key)"
                            [(ngModel)]="sortedValue.referenceObject[column.key]">

<强>输出:

import ast
print(ast.literal_eval('[1.3, 2.3, 4.5]'))

答案 1 :(得分:1)

您还可以使用更加手动的方式:

[eval(x) for x in '[1.3, 2.3, 4.5]'.strip("[").strip("]").split(",")]
Out[64]: [1.3, 2.3, 4.5]

答案 2 :(得分:1)

您可以使用json

import json
a = '[1.3, 2.3, 4.5]'
json.loads(a)

答案 3 :(得分:0)

如果您确定您的输入数据类型为a =&#39; [1.3,2.3,4.5]&#39; 然后你可以使用eval命令并将它分配给相同或不同的变量。

classpath 'com.google.gms:google-services:3.3.0'

答案 4 :(得分:0)

a = a.split(",")
a[0] = a[0][1:]
a[-1] = a[-1][:-1]
a = [float(i) for i in a]

这应该可行:)