外部方法返回以下字符串,
[875.5599999999476,-223155.0180000058,766.8799999999985,1830.867499999997]\n
。
我必须将其转换为列表。
答案 0 :(得分:3)
看起来像literal_eval
.的任务。
from ast import literal_eval
data = literal_eval('[875.5599999999476,-223155.0180000058,766.8799999999985,1830.867499999997]')
这将为您提供列表[875.5599999999476, -223155.0180000058, 766.8799999999985, 1830.867499999997]
。
答案 1 :(得分:2)
JSON是否有效?如果是这样,您可以使用json.loads()
。否则:
s = '[875.5599999999476,-223155.0180000058,766.8799999999985,1830.867499999997]'
lst = [float(item) for item in s[1:-1].split(',')
答案 2 :(得分:2)
可能是一种更优雅的方式,但可能是这样的:
x.strip("[").strip("]").split(",")
编辑:
如下面的评论中所述,上面的代码不会将字符串中的数字转换为浮点数。为此,请参阅以下内容:
[float(i) for i in x.strip("[").strip("]").split(",")]
答案 3 :(得分:1)
这就是你想要的:
l = [875.5599999999476,-223155.0180000058,766.8799999999985,1830.867499999997]
print (l)
输出:
[875.5599999999476, -223155.0180000058, 766.8799999999985, 1830.867499999997]
或拆分列表中的每个项目?
l = [875.5599999999476,-223155.0180000058,766.8799999999985,1830.867499999997]
for x in l:
print(x)
输出:
875.5599999999476
-223155.0180000058
766.8799999999985
1830.867499999997