2014-07-11 24 views
-1

我有一個python列表,但它以字符串的形式出現在我的列表中,我想將它視爲一個列表。我會怎麼做呢?在python中將字符串列表轉換爲真正的列表

,所以我得到:

「[[[-11828027,4726557],[ - 11820764,4723620],[ - 11819931,4711555],[ - 11829376,4710523],[ - 11828027,4726557 ]]]」

,但我希望能夠與它的工作就好像它是:

[[[-11828027,4726557],[ - 11820764,4723620],[ - 11819931 ,4711555],[ - 11829376,4710523],[ - 11828027,4726557]]]

我曾嘗試加入並拆分,但那些並不真正做我想要的。我不想把這份清單分開。我只是希望它表現得像一個列表而不是一個字符串。

回答

3

使用ast模塊的literal_eval()方法:

>>> import ast 
>>> data = "[[[-11828027,4726557],[-11820764,4723620],[-11819931,4711555],[-11829376,4710523],[-11828027,4726557]]]" 
>>> a_list = ast.literal_eval(data) 
>>> a_list 
[[[-11828027, 4726557], [-11820764, 4723620], [-11819931, 4711555], [-11829376, 4710523], [-11828027, 4726557]]] 
>>> a_list[0] 
[[-11828027, 4726557], [-11820764, 4723620], [-11819931, 4711555], [-11829376, 4710523], [-11828027, 4726557]] 
>>> a_list[0][0] 
[-11828027, 4726557] 
0

您可以使用蟒蛇的eval()

YourList = eval("[[[-11828027,4726557],[-11820764,4723620],[-11819931,4711555],[-11829376,4710523],[-11828027,4726557]]]") 
+0

請不要沒有至少提了極度危險的潛在建議EVAL:HTTP:// nedbatchelder.com/blog/201206/eval_really_is_dangerous.html –