例えば 。
s='[-97.173125220360362, -97.173125220360362]'
v=eval(s)
実際には v =[-97.17312522036036, -97.17312522036036]、最後の 2 を失いました。文字列と同じ値を保持するにはどうすればよいですか
例えば 。
s='[-97.173125220360362, -97.173125220360362]'
v=eval(s)
実際には v =[-97.17312522036036, -97.17312522036036]、最後の 2 を失いました。文字列と同じ値を保持するにはどうすればよいですか
import ast
s = '[-97.173125220360362, -97.173125220360362]'
print ast.literal_eval(s)
ドキュメントに記載されているように、使用ast.literal_eval
はより安全です。eval
これにより、フロートのリストが表示されます。
リストを取得するには、代わりにliteral_evalを使用してください。
from ast import literal_eval
s= '[-97.173125220360362, -97.173125220360362]'
items = literal_eval(s)
# [-97.17312522036036, -97.17312522036036]
次に、適切にフォーマットして表示します。
as_strings = [format(el, '.17g') for el in items]
# ['-97.173125220360362', '-97.173125220360362']