のような文字列があります"[1,2,3]"
。今、この文字列をリストに変換しようとしています。そのリストには が含まれている必要があります[1,2,3]
。
これを行う方法はありますか?
のような文字列があります"[1,2,3]"
。今、この文字列をリストに変換しようとしています。そのリストには が含まれている必要があります[1,2,3]
。
これを行う方法はありますか?
ast.literal_valを使用できます:
ast.literal_eval(node_or_string)
式ノード、または Python 式を含む Unicode または Latin-1 でエンコードされた文字列を安全に評価します。提供される文字列またはノードは、次の Python リテラル構造のみで構成されている可能性があります: 文字列、数値、タプル、リスト、辞書、ブール値、およびなし。
これは、値を自分で解析する必要なく、信頼できないソースからの Python 式を含む文字列を安全に評価するために使用できます。
例:
>>> from ast import literal_eval
>>> literal_eval("[1,2,3]")
[1, 2, 3]
>>>
これを行うためのより良い方法は、たまたま同じエンコーディングを持つ JSON を使用することです。
>>> import json
>>> json.loads('[1,2,3]')
[1,2,3]
>>> type(json.loads('[1,2,3]'))
<type 'list'>
>>> type(json.loads('[1,2,3]')[0])
<type 'int'>