2016-10-04 70 views
-1

我有以下格式的字符串:將字符串轉換爲一個列表(即不是字符串元素)

s = "['1', '2', '['a', 'b']']" 

而且我想把它轉換到這個列表,其中每個元素是不是字符串:

l = [1, 2, ['a', 'b']] 

我該怎麼做,如果我不知道從一開始多久每個列表的最終元素將是?

+0

請問你爲什麼會想這樣做?(順便說一下,不要使用內建的名字例如'str'或者'list'作爲變量名稱,它的錯誤做法是) –

+6

至少發佈一個格式良好的字符串 – e4c5

+0

這不是一個正確的字符串 –

回答

2

轉換輸入小的變化,那麼你會得到得到輸出很容易,這樣,

In [1]: s = """['1', '2', "['a', 'b']"]""" 
In [2]: print s 
['1', '2', "['a', 'b']"] 
In [3]: out = eval(s) 
In [4]: out 
Out[1]: ['1', '2', "['a', 'b']"] 
In [5]: out[2] = eval(out[2]) 
In [6]: out 
Out[2]: ['1', '2', ['a', 'b']]