¿Cómo puedo convertir esta cadena a la lista de listas?

Si un usuario escribe [[0,0,0], [0,0,1], [1,1,0]] y presiona intro, el progtwig debe convertir esta cadena en varias listas; una lista que contiene [0][0][0] , otra para [0][0][1] , y la última lista para [1][1][0]

Python tiene una buena manera de manejar esto?

Esto es un poco más flexible que el de Satoru, y no utiliza ninguna biblioteca. Aún así, no funcionará con listas más anidadas. Para eso, creo que necesitarías una función recursiva (o bucle), o eval.

 str = "[[0,0,0],[0,0,1],[1,1,0]]" strs = str.replace('[','').split('],') lists = [map(int, s.replace(']','').split(',')) for s in strs] 

listas ahora contiene la lista de listas que desea.

 >>> import ast >>> ast.literal_eval('[[0,0,0], [0,0,1], [1,1,0]]') [[0, 0, 0], [0, 0, 1], [1, 1, 0]] 

Para tuplas

 >>> ast.literal_eval('[(0,0,0), (0,0,1), (1,1,0)]') [(0, 0, 0), (0, 0, 1), (1, 1, 0)] 
 >>> import json >>> json.loads('[[0,0,0], [0,0,1], [1,1,0]]') [[0, 0, 0], [0, 0, 1], [1, 1, 0]] 

[[int(i) for i in x.strip(" []").split(",")] for x in s.strip('[]').split("],")]

una lista de comprensión en una lista de comprensión … pero que derretirá tu cerebro

 >>> import re >>> list_strs = re.findall(r'\[\d+\,\d+\,\d+\]', s) >>> [[[int(i)] for i in l[1:-1].split(',')] for l in list_str] 
 >>> string='[[0,0,0], [0,0,1], [1,1,0]]' >>> eval(string) [[0, 0, 0], [0, 0, 1], [1, 1, 0]] >>> a=eval(string) >>> a [[0, 0, 0], [0, 0, 1], [1, 1, 0]] 

antes de pasar su cadena a eval() , haga primero el saneamiento necesario.