私はこのような文字列を持っています"['first', 'sec', 'third']"
これを文字列のリストに変換する最良の方法は何でしょう。['first', 'sec', 'third']
私は使用しますliteral_eval()
、それは安全です:
式ノードまたは Python 式を含む文字列を安全に評価します。提供される文字列またはノードは、次の Python リテラル構造のみで構成されている可能性があります: 文字列、数値、タプル、リスト、辞書、ブール値、およびなし。
これは、値を自分で解析する必要なく、信頼できないソースからの Python 式を含む文字列を安全に評価するために使用できます。
>>> import ast
>>> ast.literal_eval("['first', 'sec', 'third']")
['first', 'sec', 'third']
リテラル式以外は何も評価しません。
>>> ast.literal_eval('"hello".upper()')
...
ValueError: malformed string
>>> ast.literal_eval('"hello"+" world"')
...
ValueError: malformed string