将字符串转换为列表(包含非字符串的元素)

时间:2016-10-04 10:58:56

标签: python list converter

我有一个以下格式的字符串:

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

我想将其转换为此列表,其中每个元素都不是字符串:

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

如果我从一开始就不知道列表中每个最终元素的长度,我怎么能这样做呢?

1 个答案:

答案 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']]