Python 将嵌套的列表字符串转换为列表

Python Casting Nested String of Lists to List

有谁知道将给定列表转换为所需格式的简单方法吗?

鉴于:

['[[2.1, 3.7], [5.5, -1.3]]']

所需格式:

[[2.1, 3.7], [5.5, -1.3]]

提前致谢

我认为json.loads非常适合这个特别的,即:

import json

lst = ['[[2.1, 3.7], [5.5, -1.3]]']
lst = [json.loads(lst[0])]
print(lst)

试试这个:

import ast
lst = ['[[2.1, 3.7], [5.5, -1.3]]']
ast.literal_eval(lst[0])
=> [[2.1, 3.7], [5.5, -1.3]]

看起来您有一个包含单个元素的列表,它是一个字符串,您想要评估该字符串并 return 它,丢弃外部列表。如果是这样,那么您可以使用 ast 中的 literal_eval 来安全地计算表达式:

import ast
s = ['[[2.1, 3.7], [5.5, -1.3]]']
t = s[0]
ast.literal_eval(t)

计算结果为:

[[2.1, 3.7], [5.5, -1.3]]

这应该很容易做到:

eval(x[0])