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

在python中将字符串转换为列表,python,string,list,Python,String,List,例如,我有一个string=“[1,2,3,4]”并且我只想要[1,2,3,4],我尝试了执行列表(mystring),但它给了我: ['[', '1', ',', '2', ',', '3', ',', '4', ']'] 我只想切掉字符串[1,2,3,4]中的“” 我想要的输出可以通过打印进行,它将输出: [1,2,3,4] 但我不知道如何将输出转换成变量,有人能帮忙吗?使用ast.literal\u eval: In [3]: import ast In [4]: s = "[1,2

例如,我有一个
string=“[1,2,3,4]”
并且我只想要
[1,2,3,4]
,我尝试了执行
列表(mystring)
,但它给了我:

['[', '1', ',', '2', ',', '3', ',', '4', ']']
我只想切掉字符串[1,2,3,4]中的

我想要的输出可以通过打印进行,它将输出:

[1,2,3,4]

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

使用
ast.literal\u 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]

使用一些字符串函数

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

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

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

[1, 2, 3, 4]

你是怎么弄到那根绳子的?如果它来自JSON,您可能应该使用
JSON
模块将其加载到Python列表中。否则,请通过
ast.literal\u eval
使用Python自己的文本解析器。我实际上是从“with open”(“saved\u DNA.txt”,“r”)中获得它的,作为f:mypop=f.readline().rstrip()。很可能有一种方法可以将我的文本文件作为列表读取,但现在它可以工作,并且使用ast.literal\u eval它可以输出我需要的内容,如果有任何数字超过一个数字,它就不能很好地工作。你可以这样做,但正如Martijn Pieters所说,为什么要养狗,自己吠叫呢?:)
[1, 2, 3, 4]