Está en la página 1de 4

Bienvenidos. Seguimos, ahora, aprendiendo sobre listas.

 
Ahora, en esta lección vamos a conocer algunas operaciones 
que nos van a ayudar a modificar la composición de las listas. 
Hasta ahora, ya sabemos cómo definir listas, 
cómo acceder a elementos de ellas e incluso hasta modificar alguno de estos elementos. 
Pero, hay ocasiones en que no queremos modificar los elementos, 
sino que queremos eliminarlos o, 
tal vez, agregar algunos nuevos. 
Y como ya hemos dicho anteriormente, 
a diferencia de los "strings", 
las listas son mutables y esto nos 
permite modificar elementos después que la lista haya sido creada. 
Por ejemplo, vamos a suponer que luego de escribir mi lista de compras, ahora, 
recuerdo que también debo comprar apio, entonces, 
yo debería ser capaz de agregar este elemento "apio" a mi lista. 
En ese caso, lo que tengo que hacer es modificar la 
definición de mi lista para que contenga el "string" "apio". 
Así, como también queremos agregar elementos, 
también queremos saber cómo eliminar elementos. 
Entonces, el objetivo en esta lección va a 
ser aprender a modificar la composición de una lista.
Reproduce el video desde :1:17 y sigue la transcripción1:17
Tal como lo podemos hacer con los "strings", 
con las listas también podemos usar las operaciones de concatenación y de repetición. 
En este ejemplo tenemos dos listas, 
la lista "no_olvidar" y la lista "también". 
Podemos concatenarlas usando el operador "más", 
para obtener una nueva lista que tenga 
los elementos de ambas listas concatenados uno después de otro. 
También, podemos repetir una lista, 
y en ese caso, 
podemos usar el operador "asterisco" para 
multiplicar una lista una cantidad entera de veces 
y obtener una nueva lista con los elementos repetidos tantas veces como hayamos pedido. 
Esto es como concatenar una lista consigo misma. 
Sin embargo, ninguna de estas soluciones modifica la lista original, 
sino que ambas crean una lista nueva. 
Esto es como si, por ejemplo, 
yo tengo una hoja de papel y cuando quiero agregar un elemento nuevo, 
en lugar de escribirlo al final, 
en un espacio del papel, boto la hoja, 
la rompo, tomo una hoja nueva y empiezo a escribir toda la lista completa otra vez. 
Estamos de acuerdo en que, tal vez, 
no es la mejor solución, 
no es la manera más eficiente de hacerlo, 
sino que hay maneras mejores de hacerlo. 
Una de las mejores maneras de hacerlo es simplemente agregar algo a la lista, 
y para eso, usamos un método que se llama "append". 
"Append", como vemos aquí, es un método del tipo "list", 
esto significa que lo podemos usar con cualquier variable que corresponda al tipo "list". 
El método "append" recibe un único parámetro, 
que es el elemento nuevo que vamos a agregar. 
Por lo tanto, si, por ejemplo, 
tenemos esta lista original y ejecutamos "no_olvidar.append" 
y entre paréntesis agregamos el "string" "apio", 
entonces, vamos a modificar la lista original para que al final de ella, 
ahora sí, aparezca el "string" "apio". 
Para entender bien qué es lo que está pasando, primero, 
recordemos que las listas se almacenan en la memoria del computador de esta manera. 
Cada posición de la lista tiene su índice único, entonces, 
al ejecutar "append" con un elemento, 
la lista se modifica y ahora, 
en lugar de haber cinco elementos, hay seis. 
Por lo tanto, vamos a poder imprimir 
el elemento que está en la posición "cinco", que dice "apio".
Reproduce el video desde :3:29 y sigue la transcripción3:29
¿Qué pasará si queremos agregar varios elementos de una sola vez, 
si quiero agregar "apio" y "tomates"? 
Una manera podría ser agregarlas en una lista, 
ya que "append" sólo me permite especificar un elemento, sin embargo, 
si yo hago eso, el resultado no va a ser exactamente lo que queríamos. 
La lista que vemos aquí tiene un elemento más que antes, pero, 
el último elemento es otra lista que contiene "apio" y "tomates", 
y no dos "strings" por separado que sean uno "apio" y otro "tomates".
Reproduce el video desde :4:1 y sigue la transcripción4:01
Para agregar todos los elementos de la lista a otra, 
lo que debemos hacer es usar otro método. 
El método "extend" recibe como parámetro una lista y agrega todos los elementos de ella, 
a la lista sobre la cual lo hemos llamado. 
De esta manera, si ejecutamos el mismo código, 
pero utilizando "extend" en lugar de "append", 
vamos a conseguir que se agreguen dos elementos a la lista "no_olvidar". 
De esta manera, la lista queda con siete elementos, entonces, 
si queremos referirnos al elemento que tiene la posición "cinco", 
este es lo que esperábamos, 
que es el elemento que dice "apio". 
Si bien es útil agregar elementos al final de la lista, 
también podemos agregarlos en cualquier posición. 
Por ejemplo, el método "insert", 
que vemos aquí, recibe dos parámetros: el primero, 
debe ser un entero donde indicamos 
en qué posición de la lista queremos insertar el elemento; 
y el segundo parámetro es el elemento que queremos insertar en la lista. 
De esta manera, con el código que vemos aquí, 
si ejecutamos "insert" con la posición "dos" y el elemento "5000", 
estamos modificando nuestra lista, 
de manera que el elemento de la posición "dos" que antes era el "string" "lechuga", 
ahora va a ser el entero "5000". 
¿Por qué pasa esto? ¿Qué está pasando con el resto de los elementos de la lista? 
Vamos a verlo tal como lo vimos con el método "append". 
Recordemos que las listas se almacenan de esta manera, 
cuando ejecutamos "insert" de valor "5000" en la posición "dos", entonces, 
estamos desplazando los elementos de la lista, todos, 
una posición a la derecha, y luego, 
insertamos "5000" en la posición "dos". 
De esta manera, el "string" "lechuga" que antes estaba en la posición "dos", 
ahora sigue estando en la lista, pero, 
ya no en la posición "dos", 
sino que en la posición "tres".
Reproduce el video desde :5:51 y sigue la transcripción5:51
Si ya sabemos agregar elementos a una lista, 
también es útil saber cómo sacarlos. 
Cuando yo esté en el supermercado con esta lista, 
probablemente voy a empezar a sacar de ella los 
elementos en el orden en que ya he comprado. 
Y si los voy comprando en el mismo orden que están en la lista, 
también los quiero sacar en este mismo orden, 
primero, el primero que esté en la lista, luego, el segundo. 
Entonces, el método "pop" que vemos aquí, 
al ejecutarlo sobre una lista, 
va a extraer el primer elemento de ella y lo va a entregar como resultado. 
Este método no recibe parámetros. 
¿Por qué? Porque siempre ejecuta la misma acción, 
y esta acción es eliminar el primer 
elemento de la lista y entregarla como un valor de retorno. 
Como lo entrega como valor de retorno, 
siempre es bueno que la guardemos en una variable. 
De esta manera, al ejecutar "pop" sobre la lista "no_olvidar", 
hemos modificado la lista para que ya no contenga el primer elemento que era "huevos". 
¿Cómo hemos guardado el valor de retorno? 
En la variable que se llama aquí "comprado", entonces, 
podemos imprimir el elemento que acabamos de sacar de la lista.
Reproduce el video desde :6:51 y sigue la transcripción6:51
¿Qué está pasando con nuestra lista al ejecutar "pop"? 
Con la misma visión que teníamos antes, 
aquí podemos ver la lista original. 
Cuando ejecutamos "pop", el método elimina 
primero el primer elemento de la lista, lo saca, 
lo almacena en la variable "comprado" 
y desplaza todos los demás una posición a la izquierda, 
de manera que, ahora, el primer elemento de 
la lista ya no es "huevos", sino que va a ser "palta". 
¿Qué pasó con este primer elemento? 
Se entrega como resultado, 
y en este ejemplo, 
nos hemos preocupado de guardarlo con la variable que se llama "comprado", 
de manera que vamos a poder volver a utilizar el contenido de "comprado", 
que es "huevos", para imprimirlo a continuación. 
Pero, tal vez, yo no compre las cosas en el mismo orden que están en la lista. 
Tal vez, la encuentro en distinto orden en el supermercado. 
Tal vez, primero paso a comprar naranjas antes que los otros encargos, entonces, 
"pop" ya no me sirve para sacar las naranjas de la lista, 
tendría que sacar todos los elementos anteriores y volver a ingresarlos. 
Tenemos otro método que nos va a ayudar, 
el método "remove" recibe como parámetro una posición, 
elimina de la lista el elemento que está en esa posición y la entrega como resultado. 
De esta manera, al ejecutar "remove" y entregarle la posición "tres", 
estoy eliminando el cuarto elemento de la lista 
y lo entrega como resultado para que lo guardemos en una variable. 
¿Qué pasa con nuestra lista? 
Al remover el elemento de la posición "tres", 
todos los elementos que están a la derecha se desplazan un lugar a la izquierda. 
La lista, ahora, va a poseer cuatro elementos 
en lugar de cinco y nos vamos a preocupar de almacenar, 
en la variable de nombre "comprado", 
el elemento que nos retorna a la ejecución de "remove", 
de manera de poder utilizarlo más adelante para 
imprimir cuál fue el valor que ya compramos.
Reproduce el video desde :8:40 y sigue la transcripción8:40
En esta lección hemos visto cómo podemos modificar el contenido de la lista. 
Hemos visto cómo operar sobre listas usando concatenación y repetición. 
Hemos visto cómo podemos agregar elementos en distintas posiciones de la lista, 
usando "append", "extend" o "insert". 
Finalmente, también hemos visto cómo eliminar 
elementos de una lista usando "pop" y usando "remove". 
Muchas gracias y los esperamos en la siguiente lección.

También podría gustarte