0

のような文字列があります"[1,2,3]"。今、この文字列をリストに変換しようとしています。そのリストには が含まれている必要があります[1,2,3]

これを行う方法はありますか?

4

2 に答える 2

12

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]
>>>
于 2013-09-20T10:12:52.663 に答える
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'>
于 2013-09-20T11:44:04.420 に答える