2017-11-17 3 views

Antwort

0

Versuchen Sie folgendes:

import ast 
lst = ['[[2.1, 3.7], [5.5, -1.3]]'] 
ast.literal_eval(lst[0]) 
=> [[2.1, 3.7], [5.5, -1.3]] 
0

Ich denke json.loads für diese eine recht geeignet ist, das heißt:

import json 

lst = ['[[2.1, 3.7], [5.5, -1.3]]'] 
lst = [json.loads(lst[0])] 
print(lst) 
0

Es sieht aus wie Sie eine Liste mit einem einzelnen Element haben, die ein String ist, und Sie möchten die Zeichenfolge bewerten und sie zurückbringen, die äußere Liste zu verwerfen. Wenn ja, dann können Sie literal_eval von ast verwenden, um sicher den Ausdruck auswerten:

import ast 
s = ['[[2.1, 3.7], [5.5, -1.3]]'] 
t = s[0] 
ast.literal_eval(t) 

Dies ausgewertet:

[[2.1, 3.7], [5.5, -1.3]] 
0

Dies sollte es leicht tun:

eval(x[0]) 
+2

'eval() 'könnte böse sein. Ja, es ist in diesem Fall in Ordnung, sollte aber stattdessen 'ast.literal_eval()' verwenden – jeffffc

Verwandte Themen