我想将以下原始字符串解析为一个数组:
(65.312321,89.314213214214)
作为 Python,我敢打赌有一种很好的方法可以做到这一点,我只是不知道!
由于它在语法上等同于 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]
在 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']