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

将字符串转换为浮点列表(在python中),python,Python,出于数据存储的目的,我试图从.txt文件中恢复浮动列表。从字符串开始,如下所示: a='[1.3,2.3,4.5]' 我想恢复: a=[1.3,2.3,4.5] 我期待一个简单的解决方案,比如list(a),但我找不到类似的解决方案 使用ast模块 Ex import ast print(ast.literal_eval('[1.3, 2.3, 4.5]')) 输出: [1.3, 2.3, 4.5] 您还可以使用更手动的方式: [eval(x) for x in '[1.3, 2.3, 4.

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

a='[1.3,2.3,4.5]'

我想恢复:

a=[1.3,2.3,4.5]


我期待一个简单的解决方案,比如
list(a)
,但我找不到类似的解决方案

使用ast模块

Ex

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

[1.3, 2.3, 4.5]

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

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

您可以使用
json

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

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

a = '[1.3, 2.3, 4.5]'
b=eval(a)
print(b.__class__)  # to know if b is of type list or not

这应该有用:)

看看
ast.literal\u eval
。(一定是个傻瓜)。可能是拉凯什的副本,兄弟,我们真的需要回答这个问题吗?:)(不是选民)
a = a.split(",")
a[0] = a[0][1:]
a[-1] = a[-1][:-1]
a = [float(i) for i in a]