2016-04-18 13 views
0

文字列をリストのリストに変換するためのエレガントな方法を探しています。私は、私は、文字列を受け取る形式を変更することはできませんので、テキストファイルからそれらを読んでいます。ここの例の文字列として:。pythonリストの文字列をリストのリストに変換する

a = "[[1,2,3],[4,5,6],[7,8,9]]" 

私はこのようなものに変換したいと思います:

c = [[1,2,3],[4,5,6],[7,8,9]] 

私はこれを行うに考えることができる唯一の方法は、(.splitを使用して、いくつかのステップを含むビット不格好である)と.replace()

b = a.split('],[') 
for i in range(len(b)): 
    b[i] = b[i].replace('[','') 
    b[i] = b[i].replace(']','') 

b=[[x] for x in b] 
b = [float(x[0].split(',')) for x in b] 

c=[] 
for l in b: 
    n=[] 
    for x in l: 
     n.append(float(x)) 
    c.append(n) 

これは、その反発と不格好に動作しながら。誰かがこれを行うエレガントな方法を知っている場合は、私に知らせてください。多くのおかげで

答えて

4
>>> import json 
>>> json.loads("[[1,2,3],[4,5,6],[7,8,9]]") 
[[1, 2, 3], [4, 5, 6], [7, 8, 9]] 

それは:)方法は簡単です

>>> a = "[[1,2,3],[4,5,6],[7,8,9]]" 
>>> import ast 
>>> m=ast.literal_eval(a) 
>>> m 
[[1, 2, 3], [4, 5, 6], [7, 8, 9]] 

また、これは

+1

パーフェクト作品、私は私が前に、使用中にこれらを見たことがないと信じてすることはできません – user3062260

関連する問題