12
temp = "['a','b','c']"
print type(temp)
#string

output = ['a','b','c']
print type(output)
#list

だから私は基本的に文字列形式のリストであるこの一時的な文字列を持っています。. . リストに戻そうとしていますが、簡単な方法がわかりません。私は1つの方法を知っていますが、正規表現を使用したくありません

temp.split() を使用すると、

temp_2 = ["['a','b','c']"]
4

2 に答える 2

20

使用ast.literal_eval():

式ノード、または Python 式を含む Unicode または Latin-1 でエンコードされた文字列を安全に評価します。提供される文字列またはノードは、次の Python リテラル構造のみで構成されている可能性があります: 文字列、数値、タプル、リスト、辞書、ブール値、およびなし。

>>> from ast import literal_eval
>>> temp = "['a','b','c']"
>>> l = literal_eval(temp)
>>> l
['a', 'b', 'c']
>>> type(l)
<type 'list'>
于 2013-09-23T19:02:31.760 に答える
0

使用できますeval

>>> temp = "['a', 'b', 'c']"
>>> temp_list = eval(temp)
>>> temp_list
['a', 'b', 'c']
>>> temp_list[1]
b
于 2013-09-23T19:11:51.287 に答える