我有一个字符串:
str = '[\'RED\', \'GREEN\', \'BLUE\']'
我想将其解析为
list = ['RED','GREEN','BLUE']
但是,我无法这样做。
我尝试使用json.loads进行解析:
json.loads(str)
它给了我
{JSONDecodeError}Expecting value: line 1 column 2 (char 1)
答案 0 :(得分:5)
您可以使用ast.literal_eval
。 eval
在不受信任的字符串上可能很危险。您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)