[MÚSICA] [MÚSICA] Bienvenidos, en esta lección vamos a dar una mirada a algunas funciones que podemos ocupar con las listas en el lenguaje Python para poder tener información acerca de ellas. Para partir, volvamos primero a nuestra lista de supermercados que hemos estado usando. Hay varias preguntas que todavía podríamos hacernos acerca de esta lista si es que la consideramos como si fuera una colección de datos dentro de un programa computacional. De partida, si me pasan una lista de compras, yo podría querer saber primero cuántos productos son los que tengo que ir a comprar. Podría preguntarme si puedo ordenar los elementos digamos alfabéticamente, o tal vez desde el más barato al más caro. O tal vez quiero saber si la persona que escribió la lista se acordó, por ejemplo, de incluir vino en la lista. Y para cada una de esas preguntas you tenemos los conocimientos y la habilidad de escribir un pequeño programa que nos dé la respuesta. Sin embargo, como son preguntas tan comunes you existen varias funciones predefinidas que podemos utilizar. Entonces, en esta clase nuestro objetivo será conocer algunas de estas funciones y saber cómo usarlas. [SONIDO] ¿Habían notado que hasta ahora no teníamos ninguna manera de saber cuántos elementos habían dentro de una lista? Bueno, la primera función de la que vamos a hablar es la función len. Esta función recibe una lista como parámetro y nos entrega como resultado la longitud, esto quiere decir la cantidad de elementos que hay dentro de una lista. De esta manera, por ejemplo, si usamos len sobre la lista que tenemos aquí no olvidar, obtendremos el valor 5 porque hay 5 elementos en ella, y podemos comprobar también que si agregamos un elemento más a la lista, el valor que nos otorga len también va a aumentar y ahora va a indicar que hay 6 elementos en la lista. Ahora supongamos que quiero saber si un elemento se encuentra en la lista o no se encuentra en ella. Si bien esto no lo vamos a resolver usando una función, vamos a usar un operador, y este operador es el operador in que entrega como resultado un valor booleano, o sea, verdadero y falso. Este valor será verdadero si la lista contiene un elemento en ella, o falso en caso contrario. De esta manera, podemos consultar si la lista contiene elementos como por ejemplo vino, o por ejemplo palta. [RUIDO] Otra pregunta que podemos hacernos es, bien, si es que palta se encuentra en la lista, ¿en qué posición está? ¿Es el primer elemento, es el último, es el que está al medio? Para eso tenemos el método index. El método index en una lista nos indica la posición, o también dicho, el índice de un elemento que buscamos dentro de la lista. Por ejemplo, si queremos saber en qué posición de la lista está el texto lechuga, entonces escribimos el nombre de la lista punto index y le entregamos el elemento que estamos buscando. En este ejemplo, como lechuga se encuentra en la lista obtenemos como resultado el entero dos, you que lechuga está en esa posición en la lista. Pero también hay que poner atención porque si el elemento no está en la lista esto se considera como un error, y nuestro programa terminará sin ejecutar ninguna instrucción más. Por lo tanto, cada vez que queramos primero obtener la posición del elemento debemos asegurarnos previamente que el elemento exista dentro de la lista. [SONIDO] Ahora supongamos que estoy escribiendo un programa para leer una lista que me entregue el usuario. Como sabemos, podemos utilizar input para que el usuario escriba una lista en el teclado. Y si el usuario escribe algo, por ejemplo, como esto, por ejemplo, muchos elementos separados por una coma, yo querría leerlos y guardarlos dentro de la lista. Al intentar obtener el primer elemento, vamos a escribir que el primer elemento es la letra h y no es el string huevos como querríamos, y nos preguntamos, ¿por qué está pasando esto? Bueno, lo que pasa que lo que leemos del usuario es un string y no es una lista. Entonces, pensemos un momento cómo podemos convertir este string en una lista. Si quieren pueden pausar el video para pensarlo. Si you lo has pensado, con todo lo que hemos aprendido, si bien hay muchas maneras de hacerlo, también podríamos escribir un código como este que vemos aquí, que es largo pero al ejecutarlo este código lee el string texto, y cada vez que encuentra un carácter coma, extrae una porción del string y lo agrega como un elemento de una lista de nombre no olvidar. Pueden pausar nuevamente el video y copiar este texto en su computador y convencerse de que funciona, you que ahora al imprimir en pantalla no olvidar, obtenemos los elementos tal como los queríamos en forma de lista. Pero también estarán de acuerdo que hubo que escribir bastantes líneas de código, en particular, hubo que escribir siete líneas de código y pensar cómo hacer esta operación cada vez que queramos hacer esto, pero hay una buena noticia para que no tengamos que hacer esto todo el tiempo. Y la buena noticia que les traigo es que existe el método split. El método split hace justamente eso, es un método de tipo string, no es un método de las listas, pero es muy útil porque nos permite separar un string cada vez que ocurre un texto que le llamamos separador, y obtener como resultado una lista con todos los elementos separados de acuerdo a este separador. De esta manera como ejemplo, el mismo código largo que vimos en la slide anterior podemos reescribirlo de manera mucho más concisa usando solamente una línea. Al escribir esto que dice texto.split, estamos diciendo que queremos dividir el string texto que leímos del usuario cada vez que veamos una coma, y por cada vez que hagamos una coma, cada vez que hagamos una división, queremos botar ese contenido en una lista. De esta manera, obtenemos una lista con todos los elementos ingresados en ella. Por supuesto, no estamos obligados a utilizar siempre la coma como separador. Si en el mismo ejemplo utilizamos ahora la letra a como separador, vamos a obtener un resultado que también es una lista, solo que los elementos van a ser algo distintos you que están divididos de acuerdo a su separación por a en lugar de por una coma. Finalmente, una acción muy común que queremos hacer con las listas va a ser ordenarlas. Si por ejemplo tenemos nuestras lista de supermercado y queremos digamos ordenarla de manera alfabética, vamos a usar el método sort. El método sort modifica la lista de manera que esos elementos queden ordenados. De esta manera, al aplicar el método a la lista no olvidar, y luego escribir en pantalla la lista, vamos a ver que esta you se encuentra ordenada. Se podrían preguntar ahora bueno, ¿y de acuerdo a qué criterio opera este método sort? Bueno, sort siempre ordena de menor a mayor, y si recordamos, al comparar dos strings estos se comparan siempre de manera alfabética. Es por eso que utilizar una lista que contiene strings estos quedarán ordenados del string que sea menor alfabéticamente hacia el que sea mayor. [RUIDO] Por lo tanto, podríamos pensar que si en lugar de usar una lista de strings también usamos una lista de números, estos también van a quedar ordenados de menor a mayor. Y efectivamente vemos que si tenemos, por ejemplo, esta lista que llamamos precios, podemos ordenarlos utilizando sort y obtener una versión ordenada de la lista con los números ordenados de menor al mayor. ¿Y ahora cómo podemos mezclar esto? Ahora si sabemos ordenar números, tal vez podríamos ordenar la lista de supermercado de acuerdo a los precios de los productos. Podemos, por ejemplo, armar una lista donde cada elemento sea a su vez otra lista con dos elementos, el primero será el precio y el segundo será el nombre del producto. De esta manera, al utilizar sort el método va a ordenar los elementos de la lista; y cómo cada elemento es otra lista, este método utilizará el primer elemento de cada lista para hacer la comparación. De esta manera, vamos a obtener aquí una abajo una lista que está compuesta por listas, las cuales están ordenadas de acuerdo al valor del menor al mayor precio en cada elemento. [SONIDO] Entonces, en esta lección hemos conocido algunas funciones y algunos métodos sobre listas que nos van a hacer la vida un poquito más fácil al programar para permitir obtener información de la lista escribiendo algo menos de código. Vimos primero cómo obtener la cantidad de elementos de una lista usando len. Vimos cómo saber si un elemento existe dentro de una lista usando in. Vimos también cómo conocer la posición de un elemento en la lista utilizando index. Después vimos cómo separar un string en distintas partes y obtener una lista de ella utilizando el método split. Y finalmente, hemos visto cómo ordenar elementos de una lista utilizando el método sort. Con esto, concluimos nuestra revisión del uso de listas en Python. Muchas gracias.