解析包含反斜杠的字符串以在Python中列出

时间:2020-03-20 08:09:30

标签: python json python-3.x string list

我有一个字符串:

str = '[\'RED\', \'GREEN\', \'BLUE\']'

我想将其解析为

list = ['RED','GREEN','BLUE']

但是,我无法这样做。

我尝试使用json.loads进行解析:

json.loads(str)

它给了我

{JSONDecodeError}Expecting value: line 1 column 2 (char 1)

2 个答案:

答案 0 :(得分:5)

您可以使用ast.literal_evaleval在不受信任的字符串上可能很危险。您ast.literal_eval仅评估有效的python结构。

import ast
s = '[\'RED\', \'GREEN\', \'BLUE\']'
ast.literal_eval(s)
# ['RED', 'GREEN', 'BLUE']

答案 1 :(得分:0)

您可以使用python的内置函数eval()。这也适用于转换为python的其他默认数据结构(dict,tuple等)。 像这样:

str = '[\'RED\', \'GREEN\', \'BLUE\']'
l = eval(str)