0
文字列は、アレイのすべての書式を持っていますこの文字列を配列に変換するにはどうすればよいですか?
myString="['ASK', 'NOT', 'WHAT', 'YOUR', 'COUNTRY', 'CAN', 'DO', 'FOR', 'YOU']"
私はこの配列にしたいです。私はどのようにそれをPythonで行うのですか?
文字列は、アレイのすべての書式を持っていますこの文字列を配列に変換するにはどうすればよいですか?
myString="['ASK', 'NOT', 'WHAT', 'YOUR', 'COUNTRY', 'CAN', 'DO', 'FOR', 'YOU']"
私はこの配列にしたいです。私はどのようにそれをPythonで行うのですか?
これは趣味のプロジェクトである場合は、それが実際に配列されていることを確認したい場合は、eval()
を使用することができます。
string = ['ASK', 'NOT', 'WHAT', 'YOUR', 'COUNTRY', 'CAN', 'DO', 'FOR', 'YOU']
string = eval(string)
あなたはより安全な何かをしたい場合、あなたはどのないでしょうliteral_eval
を使用することができます機能を実行する。
eval
よりも安全である)
literal_eval
を使用するか、またはあなたがJSON文字列として扱うことができ
:
from ast import literal_eval
li = literal_eval("['ASK', 'NOT', 'WHAT', 'YOUR', 'COUNTRY', 'CAN', 'DO', 'FOR', 'YOU']")
# or with the json module
import json
li = json.loads("['ASK', 'NOT', 'WHAT', 'YOUR', 'COUNTRY', 'CAN', 'DO', 'FOR', 'YOU']")
あなたはそれが少し危険だ場合でも、evalの()関数を使用することができます。 ast.literal_evalは、関数を実行しないので、より優れています。 – Kavli
@Kavliソースが信頼されている場合は、 'eval'や' exec' *の使用には何も問題ありません。唯一の入力を入力する小さなおもちゃプロジェクトでは、ソースが信頼できると想定するのが安全です。 'collections.namedtuple'は' exec'を使ってクラスを構築します。しかし、それは引数が有効な識別子であることを証明するので、 'exec'は期待通りにしか動作しません。 – Dunes