Me gustaría crear un objeto slice a partir de una cadena; en este momento la única forma parece a través de una incómoda declaración eval hackypython create slice object desde la cadena
class getslice:
def __getitem__(self, idx): return idx[0]
eval("getslice()[%s, 1]" %(":-1"))
gracias de antemano.
Editar: Disculpe si el mensaje original no era claro, la entrada en este caso era ": -1". El punto era analizar la cadena. La respuesta de Ignacio Vazquez-Abrams al menos resolvió el problema (y parece funcionar también con la indexación inversa), pero creo que mi solución anterior es más clara si no es conceptualmente limpia (y funcionará correctamente si Python alguna vez cambia la sintaxis de corte).
¿Puede ser una un poco más claro sobre qué comportamiento estás buscando? –
-1: ¿Por qué crearías un objeto de división independiente? Las rebanadas son piezas de sintaxis de primera clase? Sin ningún conocimiento sobre por qué harías esto, la pregunta es muy extraña. –
Jaffe: pregunta actualizada. Lott: Estoy haciendo un poco de trabajo de lenguaje, y me gustaría usar las partes de Python también. El objeto real es bastante útil: tiene una función de índices (len) que dará un (inicio, parada, incremento) dada una longitud de matriz – gatoatigrado