2017-08-08 155 views
0

在python3,我想将一个字符串,像这样:将字符串转换 - 蟒蛇3

my_str = "['1', '2', '3', '4', '72']" 

到一个列表,像这样:

my_list = ['1', '2', '3', '4', '72'] 

有没有简单的方法来做到这一点?

非常感谢,你们都。

+0

你在'1'之前缺少''''。但是,如果你解决这个问题,你可以使用'ast.literal_eval'。 –

+0

即使丢失'前1你可以得到正则表:) –

回答

6

使用ast.literal_eval

>>> import ast 
>>> my_str = "['1', '2', '3', '4', '72']" 
>>> ast.literal_eval(my_str) 
['1', '2', '3', '4', '72'] 

这比使用eval()因为如果数据是不是安全失败一个更安全的选择。

+0

是啊'ast.literal_eval'也是安全的。 – decadenza

-1

进口重新

my_str = “[1' , '2', '3', '4', '72']”

re.compile(R'(\ d +) ').findall(my_str)

[' 1' , '2', '3', '4', '72']

注意:使用重就可以得到所希望的输出,即使你没有把它放在字符串中。