我有一个字符串:x = '[{'id': 35, 'name': 'Comedy'}, {'id': 53, 'name': 'Thriller'}]'
我想将此字符串转换为列表:x = [{'id': 35, 'name': 'Comedy'}, {'id': 53, 'name': 'Thriller'}]
我尝试这样做: x =列表(x)
,但这将返回所有用逗号分隔的字符。 ['[','{',“','i','d',”',':',','3','5',',',',','“ ,'n','a','m','e',“'”,':',',','','C','o','m','e','d ','y',“'”,'}',']']
x = list(x)
答案 0 :(得分:3)
当您执行list(x)
时,将获得字符串的各个字符的列表。
相反,您可以为此使用ast.literal_eval(您可以使用json.loads,但是不能使用,因为该字符串包含单引号)
In [5]: import ast
In [6]: x = "[{'id': 35, 'name': 'Comedy'}, {'id': 53, 'name': 'Thriller'}]"
In [7]: ast.literal_eval(x)
Out[7]: [{'id': 35, 'name': 'Comedy'}, {'id': 53, 'name': 'Thriller'}]