如何阵列字符串转换成数组在Python

问题描述:

我试着到香港专业教育学院存储在MySQL数据库中(作为一个字符串)数组转换为标准排列在python我的意思的例子是:如何阵列字符串转换成数组在Python

这就是我从数据库中获取:

"['a',['b','c','d'],'e']" # this is a string in the format of an array that holds strings inside it. 

我需要的,这样它的行为就像一个正常的阵列 任何帮助将不胜感激从字符串中删除的阵列。我不确定这是否已在其他地方得到解答,对不起,如果我找不到它。 感谢

您可以使用ast.literal_eval

>>> from ast import literal_eval 
>>> s = "['a',['b','c','d'],'e']" 
>>> print(literal_eval(s)) 
['a', ['b', 'c', 'd'], 'e'] 
+1

,而这肯定是正确的(+1)......他可能要考虑改变自己在DB存储为JSON或什么 – 2014-08-29 16:22:55

+0

@JoranBeasley格式你知道我怎么会使用Python来存储数据库中的json – Riley 2014-08-29 16:27:57

+0

@ RileyThe15YearOld'json.dumps()'将把你的数组变成一个JSON字符串,'json.loads()'将它变回Python数组。 – TheSoundDefense 2014-08-29 16:32:08

如果你能把这些单引号转换为双引号,你可以使用JSON解析。

import json 
obj1 = json.loads('["a", ["b", "c", "d"], "e"]')