将字符串转换为python中的列表

时间:2017-06-08 17:52:43

标签: python string list

例如,我有一个string = "[1,2,3,4]"我希望只有[1,2,3,4],我尝试list(mystring),但它给了我:

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

我只想切断字符串""的{​​{1}}。

我想要的输出可以用print打印,它会输出:

"[1,2,3,4]"

但我不知道如何将输出变成变量,有人可以帮忙吗?

4 个答案:

答案 0 :(得分:5)

使用ast.literal_eval

In [3]: import ast

In [4]: s = "[1,2,3,4]"

In [5]: ast.literal_eval(s)
Out[5]: [1, 2, 3, 4]

In [6]: L = ast.literal_eval(s)

In [7]: L
Out[7]: [1, 2, 3, 4]

答案 1 :(得分:3)

In [1]: import json

In [2]: s = "[1,2,3,4]" 

In [3]: json.loads(s)
Out[3]: [1, 2, 3, 4]

答案 2 :(得分:2)

使用一些字符串函数

s = "[1,2,3,4]"
s_list = [int(x) for x in s.strip('[]').split(',')]

答案 3 :(得分:0)

您可以使用列表理解并检查数字,例如:

 s = "[1,2,3,4]"
 lst = [int(x) for x in s if x.isdigit()]

输出:

[1, 2, 3, 4]