2016-10-04 92 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']]