5

私はこのような文字列を持っています"['first', 'sec', 'third']"

これを文字列のリストに変換する最良の方法は何でしょう。['first', 'sec', 'third']

4

2 に答える 2

10

私は使用します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
于 2013-08-06T10:17:14.127 に答える