0

例如 :

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']"]

​</p>

4

2 回答 2

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]
于 2013-06-22T07:31:09.633 回答
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]
于 2013-06-22T07:37:02.333 回答