2017-08-08 132 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']

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