0

次の生の文字列を配列に解析したいと思います。

(65.312321,89.314213214214)

Pythonなので、これを行うための美しい方法があるに違いありません。私にはわかりません。

4

2 に答える 2

4

Python の float のタプルと構文的に同等であるため、以下を使用できます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 に答える