A menudo es útil dividir una operación de listas en dos métodos.
Por ejemplo, para imprimir una lista invertida en el formato convencional [3, 2, 1] podemos usar el metodo imprimeAlReves para imprimir 3, 2, pero necesitaremos un metodo aparte para imprimir los corchetes y el primer nodo. Llamémoslo imprimeAlRevesBonito:
1: def imprimeAlRevesBonito(lista) :
2: print "[",
3: if lista != None :
4: cabeza = lista
5: cola = lista.siguiente
6: imprimeAlReves(cola)
7: print cabeza,
8: print "]",
De nuevo, vemos que es buena idea comprobar métodos como este para ver si funcionan con casos especiales como una lista vacía o un singleton.
Cuando usamos este metodo en algún otro lugar del programa, llamamos directamente a imprimeAlRevesBonito, y este llama a imprimeAlReves en nuestro lugar. En cierto modo, imprimeAlRevesBonito actúa como un envoltorio, y utiliza a imprimeAlReves como su ayudante.
Comentarios
Publicar un comentario