在python中将字符串列表转换为真实列表

时间:2014-07-11 19:06:36

标签: python

我有一个python列表,但它作为一个字符串来到我,我想把它作为一个列表。我该怎么做?

所以我得到了:

  

&#34; [[[ - 11828027,4726557],[ - 11820764,4723620],[ - 11819931,4711555],[ - 11829376,4710523],[ - 11828027,4726557]]]&#34; < / p>

但我希望能够像使用它一样使用它:

  

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

我尝试过加入和分裂,但那些人并没有真正做到我想要的。我不想把这份名单拆开。我只是希望它表现得像列表而不是字符串。

2 个答案:

答案 0 :(得分: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]

答案 1 :(得分:0)

您可以使用pythons eval()

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