Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python将列表字符串转换为列表列表_Python_List_Replace_Split - Fatal编程技术网

python将列表字符串转换为列表列表

python将列表字符串转换为列表列表,python,list,replace,split,Python,List,Replace,Split,我正在寻找一种将字符串转换为列表的优雅方法。我从文本文件中读取它们,因此无法更改接收字符串的格式。以下是字符串示例: a = "[[1,2,3],[4,5,6],[7,8,9]]" 我想把它转换成这样的东西: c = [[1,2,3],[4,5,6],[7,8,9]] 我能想到的唯一方法是使用.split和.replace执行几个步骤,这有点笨拙 b = a.split('],[') for i in range(len(b)): b[i] = b[i].replace('[',''

我正在寻找一种将字符串转换为列表的优雅方法。我从文本文件中读取它们,因此无法更改接收字符串的格式。以下是字符串示例:

a = "[[1,2,3],[4,5,6],[7,8,9]]"
我想把它转换成这样的东西:

c = [[1,2,3],[4,5,6],[7,8,9]]
我能想到的唯一方法是使用.split和.replace执行几个步骤,这有点笨拙

b = a.split('],[')
for i in range(len(b)):
    b[i] = b[i].replace('[','')
    b[i] = b[i].replace(']','')

b=[[x] for x in b]
b = [float(x[0].split(',')) for x in b]

c=[]
for l in b:
    n=[]
    for x in l:
        n.append(float(x))
    c.append(n)
虽然这样做有效,但它令人厌恶且笨重。如果有人知道这样做的优雅方式,请让我知道。非常感谢

>>> import json
>>> json.loads("[[1,2,3],[4,5,6],[7,8,9]]")
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
İt's way easy:

>>> a = "[[1,2,3],[4,5,6],[7,8,9]]"
>>> import ast
>>> m=ast.literal_eval(a)
>>> m
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
这也行

İt's way easy:

>>> a = "[[1,2,3],[4,5,6],[7,8,9]]"
>>> import ast
>>> m=ast.literal_eval(a)
>>> m
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

这也很好用,我不敢相信我以前从未见过这些在使用中完美,我不敢相信我以前从未见过这些在使用中