例如:
je = ("3,5&6,7")
我想要的结果是[3,5,6,7]
到目前为止我尝试过:
je = ("3,5&6,7")
jean = je.split(",")
j = str(jean)
De = j.split("&")
print De
但我的结果是[“['3','5”,“6','7']”]
答案 0 :(得分:6)
使用regex
:
In [3]: import re
In [4]: strs = "3,5&6,7"
#map
In [5]: map(int, re.findall(r'\d+',strs))
Out[5]: [3, 5, 6, 7]
#LC
In [6]: [int(x) for x in re.findall(r'\d+',strs)]
Out[6]: [3, 5, 6, 7]
答案 1 :(得分:1)
您可以将replace()
与ast.literal_eval
一起使用:
>>> import ast
>>> je = ("3,5&6,7")
>>> ast.literal_eval(je.replace('&', ','))
(3, 5, 6, 7)
或者如果你真的需要一个清单:
>>> ast.literal_eval('['+je.replace('&', ',')+']')
[3, 5, 6, 7]