这可能以前已经回答过,但是很难精确地查找。我有一个字符串列表,其中的字符串中有列表(或者如果它们不在字符串中,它们就是列表)。我想返回一个列表列表。
m,x,y,z可能已经定义或可能尚未定义
这是我可能要开始的内容:
old_list = ['[1,2,m]','[4.1,3.5,5]','[x,y,z]', '["t","u","v"]']
这就是我想要的(取决于是否已定义m,x,y,z):
new_list = [[1,2,'m'],[4.1,3.5,5],['x','y','z'],['t','u','v']]
new_list2 = [[1,2,m],[4.1,3.5,5],[x,y,z],['t','u','v']]
答案 0 :(得分:0)
不确定您的问题是什么,它对我有用...
x = 10
y = 11
z = 10
list_in = ['[1,2,3]','[4.1,3.5,5]','[x,y,z]', "['t','u','v']"]
list_out = [eval(elem) for elem in list_in]
print(list_out)
输出:
[[1, 2, 3], [4.1, 3.5, 5], [10, 11, 10], ['t', 'u', 'v']]
答案 1 :(得分:0)
import ast
mylist = ['[1,2,3]','[4.1,3.5,5]','[x,y,z]', "['t','u','v']"]
mynewlist = [ast.literal_eval(i) for i in mylist]
当然,此示例不能完全按原样工作,因为尚未定义x
,y
或z
。