将复杂字符串转换为python

时间:2015-05-23 11:33:23

标签: python string

我使用python检索了mysql表格下方的sting,但我很难将其转换为列表。

_string='[1,2,3,4]'

我的尝试

>>> _string='[1,2,3,4]'
>>> sum(list(_string),[])
>>> list(_string)
['[', '1', ',', '2', ',', '3', ',', '4', ']']

>>> _string.strip('\n')
'[1,2,3,4]'

期望的输出:

[1,2,3,4]

是否有有效的方法来获得所需的输出?因为我将花费数百万美元。

4 个答案:

答案 0 :(得分:3)

它是ast.literal_eval的用途,您只需使用它来安全地评估包含Python值的字符串:

>>> _string='[1,2,3,4]'
>>> 
>>> import ast
>>> ast.literal_eval(_string)
[1, 2, 3, 4]

答案 1 :(得分:1)

概括一点 - 如果您的字符串始终是JSON格式的列表,您可以使用:

var getDynamicFunction = function(jsCode) { 
        return '(function() { return function() { ' + jsCode + ' }})()'
   },
   codeToInsert = 'alert("I am created dynamically");';

myFunction = eval(getDynamicFunction(codeToInsert));
myFunction();

答案 2 :(得分:0)

试试这个:

your_list = _string.strip("[]").split(",")

答案 3 :(得分:0)

使用列表理解和拆分

In [14]: [int(i) for i in _string[1:-1].split(',')]
Out[14]: [1, 2, 3, 4]