在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]