0

我想将以下原始字符串解析为一个数组:

(65.312321,89.314213214214)

作为 Python,我敢打赌有一种很好的方法可以做到这一点,我只是不知道!

4

2 回答 2

4

由于它在语法上等同于 python 的浮点元组,因此您可以使用ast.literal_eval

>>> import ast
>>> print ast.literal_eval("(65.312321,89.314213214214)")
(65.312321, 89.314213214214)

如果需要,可以将其转换为列表:

>>> print list(ast.literal_eval("(65.312321,89.314213214214)"))
[65.312321, 89.314213214214]
于 2013-03-11T15:53:04.573 回答
3

在 Python 中,您没有数组。您最终将数据保存在不可变元组或可变列表中。您最好的选择是为此目的使用 ast

>>> import ast
>>> st = "(65.312321,89.314213214214)"
>>> ast.literal_eval(st) # as a tuple
(65.312321, 89.314213214214)
>>> list(ast.literal_eval(st)) # as a list
[65.312321, 89.314213214214]

如果您愿意,您也可以去掉括号并用逗号分隔

>>> st.strip("() ").split(",")
['65.312321', '89.314213214214']
于 2013-03-11T15:54:36.290 回答