convert a string representation of a list to a listとast.literal_eval
を使用できます。 numpy配列と同等のものはありますか? ast.literal_eval(xs)
を使用して配列の文字列表現をPythonのnumpy配列に変換します
x = arange(4)
xs = str(x)
xs
'[0 1 2 3]'
# how do I convert xs back to an array
はSyntaxError
を発生させます。私が必要な場合は、文字列の解析を行うことができますが、より良い解決策があるかもしれないと思いました。
はnumpyの配列も、Pythonのリストを再構築するために使用することができます 'repr'を提供していません。文字列を整理してリストを作り直して、それから数えきれない配列を作成することができます。 'numpy.array(ast.literal_eval( '、' .join(xs.split( ''))))' –
'ast.literal_eval'を使用することは必須ですか?もしそうなら、答えは* no *です。あなたは 'literal_eval'からnumpy配列を得ることができません。 'ast.literal_eval(node_or_string)'のPythonドキュメントから: "提供される文字列またはノードは、文字列、数値、タプル、リスト、辞書、ブール値、およびNoneのPythonリテラル構造のみで構成されます。あなたが本当に望むのは、numpyの配列を文字列に変換してから配列に戻す便利な方法です。質問にその点を詳しく記入してください。 –
ご迷惑をおかけして申し訳ありません。 ast.literal_evalのアナログがあり、numpyの配列で動作していましたが、ast.literal_evalを使用するとは思っていませんでした。 – jdmcbr