将转换为String的数组转换回数组

时间:2016-01-07 12:30:21

标签: python string list python-3.x

由于我的代码中存在错误,我最近在python中发现了一个有趣的行为。 这是发生的事情的简化版本:

a=[[1,2],[2,3],[3,4]]
print(str(a))
 
console:
"[[1,2],[2,3],[3,4]]"

现在我想知道是否可以将String转换回Array.Is有一种转换String的好方法,表示具有混合数据类型("[1,'Hello',['test','3'],True,2.532]")的数组,包括整数,字符串,布尔值,浮点数和数组回到数组?

2 个答案:

答案 0 :(得分:13)

总有每个人都喜欢ast.literal_eval

>>> import ast
>>> x = "[1,'Hello',['test','3'],True,2.532]"
>>> y = ast.literal_eval(x)
>>> y
[1, 'Hello', ['test', '3'], True, 2.532]
>>> z = str(y)
>>> z
"[1, 'Hello', ['test', '3'], True, 2.532]"

答案 1 :(得分:2)

ast.literal_eval更好。简而言之,这也是一种方式。

a=[[1,2],[2,3],[3,4]]
string_list = str(a)
original_list = eval(string_list)
print original_list == a
# True