如何将此字符串转换为python列表?

时间:2019-06-06 07:05:40

标签: python string list

我有一个字符串: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)

1 个答案:

答案 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'}]