将字符串转换为列表.Python [string.split()表现得很奇怪]

O.r*_*rka 12 python string split list

temp = "['a','b','c']"
print type(temp)
#string

output = ['a','b','c']
print type(output)
#list
Run Code Online (Sandbox Code Playgroud)

所以我有这个临时字符串,它基本上是一个字符串格式的列表...我试图把它变成一个列表,但我不确定一个简单的方法来做到这一点.我知道一种方法,但我宁愿不使用正则表达式

如果我使用temp.split()我得到

temp_2 = ["['a','b','c']"]
Run Code Online (Sandbox Code Playgroud)

ale*_*cxe 20

用途ast.literal_eval():

安全地评估表达式节点或包含Python表达式的Unicode或Latin-1编码的字符串.提供的字符串或节点可能只包含以下Python文字结构:字符串,数字,元组,列表,dicts,布尔值和None.

>>> from ast import literal_eval
>>> temp = "['a','b','c']"
>>> l = literal_eval(temp)
>>> l
['a', 'b', 'c']
>>> type(l)
<type 'list'>
Run Code Online (Sandbox Code Playgroud)