Cuando pasas una lista a una función, la función obtiene un apuntador a la lista. Si la función modifica un parámetro de la lista, el código que ha llamado la función también verá el cambio. Por ejemplo, remover_primero elimina el primer elemento de una lista:
He aquí el ejemplo de cómo se usa desde la terminal:
El parámetro t y la variable letras son alias para el mismo objeto.
Es importante distinguir entre operaciones que modifican listas y operaciones que crean nuevas listas. Por ejemplo, el método append modifica una lista, pero el operador + crea una nueva lista:
Esta diferencia es importante cuando escribes funciones que no están destinadas a modificar listas. Por ejemplo, esta función no elimina el primer elemento de una lista:
El operador de rebanado crea una nueva lista y el asignamiento hace que t apunte a la lista, pero nada de esto tiene efecto en la lista que fue pasada como argumento.
Una alternativa es escribir una función que cree y regrese una nueva lista. Por ejemplo, cola regresa todo excepto el primer elemento de una lista:
Esta función deja la lista original sin modificar. Veamos como se usa:
Escribe una función llamada recortar que toma una lista y la modifica, removiendo el primer y último elemento, y regresa None. Después escribe una
función llamada medio que toma una lista y regresa una nueva lista que contiene
todo excepto el primero y último elementos.
Debe estar conectado para enviar un comentario.