1 00:00:00,750 --> 00:00:06,650 Hola, hoy vamos a hacer una clase sobre las listas en Python 2 00:00:06,650 --> 00:00:12,449 Una lista no es más que una colección de información 3 00:00:12,449 --> 00:00:20,149 Esa información puede ser de tipo texto, puede ser de tipo número, puede ser de tipo número con coma flotante 4 00:00:20,149 --> 00:00:24,649 Puede ser de tipo booleano, puede ser de cualquier tipo, incluso se pueden mezclar los tipos 5 00:00:24,649 --> 00:00:35,670 ¿Vale? Entonces, para ver cómo se hacen las listas de Python, nos vamos a ir, como siempre, a nuestro editor o a nuestro compilador online de Python, ¿vale? 6 00:00:36,990 --> 00:00:45,549 Y lo primero que tenemos que ver es cómo definimos las listas. Muy sencillo. Las listas al final van a actuar como si fuera una variable más, ¿vale? 7 00:00:45,549 --> 00:00:49,649 Entonces, si yo creo, por ejemplo, una lista a la que llamo lista 1, ¿vale? 8 00:00:50,530 --> 00:00:53,390 Esta lista la puedo crear de forma vacía, ¿vale? 9 00:00:53,530 --> 00:00:57,109 Si la creo vacía, lo único que tengo que hacer es poner corchete. 10 00:00:58,329 --> 00:01:02,170 Entonces, fijaros, si yo le imprimo esta lista, lista 1, ¿vale? 11 00:01:02,630 --> 00:01:09,010 Y ejecuto, vemos que lo que nos devuelve a la salida es nada, algo vacío, ¿vale? 12 00:01:09,430 --> 00:01:12,609 Si yo a esta lista le quiero empezar a asignar contenido, ¿vale? 13 00:01:12,609 --> 00:01:16,370 Por ejemplo, vamos a crear una primera lista que sea únicamente de números, ¿vale? 14 00:01:17,489 --> 00:01:20,590 Lista de números enteros, ¿vale? 15 00:01:20,730 --> 00:01:33,590 Y entonces yo le asignaría pues el 2, el 6, el 17, el 4, el 98, el 74, el 22, ¿vale? 16 00:01:33,849 --> 00:01:34,810 Eso sería una lista. 17 00:01:34,810 --> 00:01:44,150 Si yo ahora imprimo esta lista, fijaros que ahora lo que nos imprimen son los diferentes elementos de esa lista, ¿vale? 18 00:01:44,890 --> 00:01:51,750 Al igual que tenemos listas de números enteros, podemos tener listas que sean únicamente de texto, ¿vale? 19 00:01:51,890 --> 00:01:54,349 Por ejemplo, si yo quiero hacer una lista de la compra, ¿vale? 20 00:01:54,349 --> 00:02:19,969 Que llamo la lista, la voy a llamar lista 2, pues yo pondría aquí arroz, patata, atún, tomate, pimiento, leche, ¿vale? 21 00:02:20,650 --> 00:02:24,949 Y de la misma forma yo podría imprimir esa lista 2, ¿vale? 22 00:02:24,949 --> 00:02:33,250 Fijaros el resultado, es que me imprime por un lado la lista numérica y por el otro lado la lista de texto, ¿vale? 23 00:02:34,830 --> 00:02:40,590 Una ventaja de las listas en Python es que nos permite mezclar tipos de datos, ¿vale? 24 00:02:40,590 --> 00:02:44,389 Yo podría tener en este caso una lista 3, ¿vale? 25 00:02:44,990 --> 00:02:54,930 Que lo que tuviera fuese diferentes cosas, como por ejemplo, pues, azul 38, rojo 26 00:02:54,930 --> 00:02:58,900 44 27 00:02:58,900 --> 00:03:02,479 verde 28 00:03:02,479 --> 00:03:07,400 411 29 00:03:07,400 --> 00:03:09,379 por ejemplo 30 00:03:09,379 --> 00:03:11,719 y de la misma forma 31 00:03:11,719 --> 00:03:14,180 esa lista se imprimiría 32 00:03:14,180 --> 00:03:15,759 exactamente igual que la otra 33 00:03:15,759 --> 00:03:17,939 se mostraría en pantalla exactamente igual 34 00:03:17,939 --> 00:03:19,319 simplemente 35 00:03:19,319 --> 00:03:22,039 que nos distingue entre aquellas variables 36 00:03:22,039 --> 00:03:23,960 que son de tipo string, de tipo texto 37 00:03:23,960 --> 00:03:25,939 y aquellas variables que son numéricas 38 00:03:25,939 --> 00:03:26,139 ¿vale? 39 00:03:26,139 --> 00:03:33,060 Ahora, ¿cómo accedo yo dentro de una lista, cómo accedo yo a un elemento en concreto? 40 00:03:34,120 --> 00:03:40,860 Pues entonces lo que hacemos simplemente es que vamos a, si nos interesa, en caso que nos interese 41 00:03:40,860 --> 00:03:46,240 Guardar la información de un elemento en una variable, yo me crearía una variable del nombre que sea, ¿vale? 42 00:03:46,240 --> 00:03:47,819 Por ejemplo, a, ¿vale? 43 00:03:48,240 --> 00:03:55,860 Y en a guardaré el valor, por ejemplo, el primer valor de la lista, ¿vale? 44 00:03:55,860 --> 00:03:58,740 El primer valor de la lista, si os dais cuenta, es el 2, ¿vale? 45 00:03:59,159 --> 00:04:03,400 Entonces, algo que tenemos que aprender o que tenemos que recordar de listas en Python 46 00:04:03,400 --> 00:04:07,599 es que siempre empiezan por la posición 0, ¿vale? 47 00:04:07,840 --> 00:04:13,740 Entonces, si yo pongo aquí lista de 1 de 0 y eso es lo que imprimo, ¿vale? 48 00:04:13,740 --> 00:04:19,560 Yo imprimo a, fijaros, que lo que estoy imprimiendo es el 2. 49 00:04:20,000 --> 00:04:23,779 ¿Por qué? Porque, como digo, las listas siempre empiezan en 0, ¿vale? 50 00:04:23,779 --> 00:04:31,199 Si yo quisiera ahora, por ejemplo, el número 17, pondría lista de 2, ¿vale? 51 00:04:31,759 --> 00:04:36,639 Y al imprimirlo, vemos que tenemos aquí el elemento 17, ¿vale? 52 00:04:36,939 --> 00:04:40,079 Es decir, recordad siempre que empezamos en 0, ¿vale? 53 00:04:40,560 --> 00:04:42,980 Esto lo podríamos llevar para cualquier tipo de lista. 54 00:04:42,980 --> 00:04:51,139 Si yo ahora pongo aquí, en vez de lista 1, lista 2, e imprimo, fijaros que estoy sacando atún, que es el tercer elemento, ¿vale? 55 00:04:51,660 --> 00:04:53,079 El tercer elemento. 56 00:04:53,079 --> 00:05:02,680 Es decir, si nosotros queremos el tercer elemento tendremos que poner índice 2, si queremos el elemento 5 tendremos que poner índice 4, ¿vale? Y así consecutivamente, ¿vale? 57 00:05:05,379 --> 00:05:16,240 Entonces, si os dais cuenta, nosotros de esta forma podemos tener listas muy largas con mucha información e ir sacando el valor que nos interese, ¿vale? 58 00:05:16,240 --> 00:05:30,360 Ahora, vamos a imaginarnos que nosotros vamos a partir de la lista de la compra, ¿vale? La lista 2. ¿Cómo metemos nuevos elementos dentro de esa lista? ¿Vale? Pues, muy sencillo. 59 00:05:30,360 --> 00:05:35,980 Yo cogería ahora y pondría lista2.append, ¿vale? 60 00:05:36,079 --> 00:05:41,060 Append es una función que el contenido que nosotros le pasemos a append, 61 00:05:41,180 --> 00:05:45,180 que en este caso va a ser, por ejemplo, pan, ¿vale? 62 00:05:45,839 --> 00:05:49,120 Ese elemento lo va a poner al final de la lista, ¿vale? 63 00:05:49,120 --> 00:05:52,259 De tal forma que si yo ahora imprimo lista2, ¿vale? 64 00:05:53,680 --> 00:06:01,319 Voy a eliminar las otras impresiones para que no aparezcan en la pantalla, ¿vale? 65 00:06:01,319 --> 00:06:09,279 Fijaros, yo ahora, esta es la primera, esta impresión que veis aquí, corresponde con esta de aquí, ¿vale? 66 00:06:09,600 --> 00:06:16,079 Y la siguiente, una vez que hemos añadido pan, que como digo, pan siempre se añade al final de la lista, ¿vale? 67 00:06:16,420 --> 00:06:22,000 Si nosotros quisiéramos añadir un elemento en una posición en concreto de la lista, ¿vale? 68 00:06:23,139 --> 00:06:24,360 Cual sea, ¿vale? 69 00:06:24,819 --> 00:06:29,680 Simplemente pondríamos lista2.insert, ¿vale? 70 00:06:29,680 --> 00:06:33,839 Y ahora dentro ponemos la posición en la que queramos meter ese elemento, ¿vale? 71 00:06:33,920 --> 00:06:43,600 Si yo por ejemplo lo quiero en la posición 4, recuerdo que si lo quiero en la posición 4, tengo que poner un índice menos, tendría que poner el índice 3, ¿vale? 72 00:06:44,139 --> 00:06:53,680 Y ahora ponemos el elemento que queremos comprar, que en este caso pues va a ser, pues no sé, carne, ¿vale? 73 00:06:53,680 --> 00:06:58,600 Y le damos a ejecutar 74 00:06:58,600 --> 00:07:01,300 Y fijaros, se me ha olvidado imprimir la lista, vale 75 00:07:01,300 --> 00:07:03,040 Imprimimos otra vez 76 00:07:03,040 --> 00:07:06,720 Y fijaros ahora 77 00:07:06,720 --> 00:07:11,959 Nosotros partimos de la lista inicial, que es esta, vale 78 00:07:11,959 --> 00:07:18,079 Hemos añadido pan, utilizando APEN, hemos añadido pan al final del todo, vale 79 00:07:18,079 --> 00:07:23,920 Y luego hemos añadido carne en la cuarta posición, vale 80 00:07:23,920 --> 00:07:28,759 Fijaros, tenemos primero arroz, patata, atún y carne, ¿vale? 81 00:07:30,300 --> 00:07:35,600 Es decir, ya vemos para lo que sirve la función append y la función insert, ¿vale? 82 00:07:35,839 --> 00:07:42,379 De la misma forma que podemos meter elementos dentro de una lista, podemos sacarlos o podemos eliminarlos, ¿vale? 83 00:07:42,660 --> 00:07:43,680 ¿Cómo los eliminamos? 84 00:07:44,540 --> 00:07:51,079 Pues nosotros utilizaríamos la lista que queremos y ponemos remove 85 00:07:51,079 --> 00:07:54,240 y dentro el elemento que queremos borrar 86 00:07:54,240 --> 00:07:57,100 imaginemos que queremos borrar el tomate 87 00:07:57,100 --> 00:08:02,500 e imprimimos la lista 88 00:08:02,500 --> 00:08:08,480 fijaros, esta es la lista inicial 89 00:08:08,480 --> 00:08:12,079 esto es después de utilizar la función append 90 00:08:12,079 --> 00:08:14,279 después de utilizar la función insert 91 00:08:14,279 --> 00:08:17,879 y después de utilizar la función remove 92 00:08:17,879 --> 00:08:22,420 nos ha eliminado el elemento que había de tomate 93 00:08:22,420 --> 00:08:46,850 ¿Vale? Importante, si yo por ejemplo, fijaros en la lista inicial, ¿vale? Voy a meter tomate dos veces y ejecuto, ¿vale? Lista inicial con tomate dos veces, una vez aquí y otra vez aquí, después añadimos el pan, ¿vale? Sigue habiendo dos tomates, luego añadimos la carne y sigue habiendo dos tomates y aquí es donde borramos el tomate. 94 00:08:46,850 --> 00:08:49,809 Y fijaros que solo ha borrado el primer tomate, ¿vale? 95 00:08:49,990 --> 00:08:57,269 Es decir, que la función remove elimina el primer elemento que coincida con lo que nosotros le pasamos como argumento, ¿vale? 96 00:08:57,590 --> 00:09:00,070 Solo elimina el primer elemento, ¿vale? 97 00:09:02,509 --> 00:09:06,169 Ok, pues lo voy a borrar para que no esté por ahora repetido, ¿vale? 98 00:09:06,230 --> 00:09:07,789 Para que no haya confusión. 99 00:09:08,029 --> 00:09:10,690 Y también podemos borrar un elemento de una posición. 100 00:09:11,009 --> 00:09:15,629 Por ejemplo, si nosotros no sabemos qué es lo que hay en esa posición, pero aún así lo queremos borrar, 101 00:09:15,629 --> 00:09:20,230 Pues pondríamos lista2.pop 102 00:09:20,230 --> 00:09:23,129 Y aquí ponemos lo que queremos borrar 103 00:09:23,129 --> 00:09:25,750 Imaginaros que yo quiero borrar la posición 1 104 00:09:25,750 --> 00:09:28,809 Que en este caso corresponde a la patata 105 00:09:28,809 --> 00:09:34,450 Y fijaros que ya la patata no existe 106 00:09:34,450 --> 00:09:35,450 ¿Vale? 107 00:09:36,470 --> 00:09:42,830 Estas serían diferentes funciones que hay para manipular listas 108 00:09:42,830 --> 00:09:43,289 ¿Vale? 109 00:09:43,289 --> 00:09:50,850 Que son, ya vemos, muy útiles para meter elementos nuevos o para sacar elementos 110 00:09:50,850 --> 00:09:56,809 Ahora, vamos a ver otra parte de esta clase que es algunas funciones importantes 111 00:09:56,809 --> 00:10:06,210 Algunas de ellas se pueden utilizar con listas y otras son válidas tanto para listas como para variables normales, ¿vale? 112 00:10:06,210 --> 00:10:09,350 Entonces, en primer lugar 113 00:10:09,350 --> 00:10:12,769 Lo que quiero ver es que entendáis 114 00:10:12,769 --> 00:10:14,830 Que una variable de string 115 00:10:14,830 --> 00:10:18,169 Se puede comportar a su vez como una lista 116 00:10:18,169 --> 00:10:18,690 ¿Vale? 117 00:10:19,210 --> 00:10:19,750 Me explico 118 00:10:19,750 --> 00:10:22,769 Nosotros hemos visto que la lista 2 119 00:10:22,769 --> 00:10:25,870 Era una lista que tenía muchos strings diferentes 120 00:10:25,870 --> 00:10:27,210 Que era una lista de la compra, ¿vale? 121 00:10:27,809 --> 00:10:30,690 Imaginaros que yo quiero sacar de ahí el elemento 1 122 00:10:30,690 --> 00:10:31,309 ¿Vale? 123 00:10:31,789 --> 00:10:32,529 El elemento 1 124 00:10:32,529 --> 00:10:34,230 Y lo quiero guardar en una variable, ¿vale? 125 00:10:34,250 --> 00:10:35,070 Entonces yo diría 126 00:10:35,070 --> 00:10:42,220 A es igual a lista 2 de 0, ¿vale? 127 00:10:42,419 --> 00:10:44,899 Con eso estoy sacando el arroz, ¿vale? 128 00:10:45,159 --> 00:10:51,259 Y ahora yo quiero que se imprima por pantalla únicamente la Z de esa palabra arroz, ¿vale? 129 00:10:51,340 --> 00:10:58,600 Si os dais cuenta, si yo considero que arroz, que es una variable de texto, una variable string, se comporta como una lista, 130 00:10:59,919 --> 00:11:06,139 la A correspondería con la posición 0, la R con la 1, la otra R con la 2. 131 00:11:06,379 --> 00:11:10,779 La O con la 3 y la Z con la 4. 132 00:11:10,779 --> 00:11:19,600 Por lo tanto, si yo hago print de A de 4 y ejecuto, fijaros que lo que me imprime es la letra Z. 133 00:11:20,179 --> 00:11:27,940 ¿Vale? Eso significa que un array, una variable de texto, se puede comportar también como una lista. 134 00:11:28,519 --> 00:11:32,200 ¿Vale? En cierta medida, o se puede manipular como una lista. 135 00:11:34,370 --> 00:11:36,990 Vale, entonces, a lo que hay, vamos a las funciones importantes. 136 00:11:36,990 --> 00:11:39,610 Voy a borrar todo esto, ¿vale? 137 00:11:39,710 --> 00:11:41,629 Lo tenéis en los apuntes que os he dado 138 00:11:41,629 --> 00:11:44,409 Y me voy a quedar solo con las listas, ¿vale? 139 00:11:45,289 --> 00:11:48,750 Entonces, la primera función importante que nosotros vamos a ver 140 00:11:48,750 --> 00:11:50,529 O función útil, ¿vale? 141 00:11:50,789 --> 00:11:52,289 Es la función len 142 00:11:52,289 --> 00:11:55,649 Que es una función que devuelve el tamaño de una lista, ¿vale? 143 00:11:56,370 --> 00:11:57,850 Entonces, fijaros 144 00:11:57,850 --> 00:12:00,330 La primera lista 1, ¿vale? 145 00:12:00,690 --> 00:12:05,789 Tiene 1, 2, 3, 4, 5, 6 y 7 elementos, ¿vale? 146 00:12:05,789 --> 00:12:13,309 Es decir, que si yo hago len de una lista, me tiene que devolver el tamaño de esa lista, ¿vale? 147 00:12:13,850 --> 00:12:20,289 Vamos a ver, si yo pongo print len de lista 1, ¿vale? 148 00:12:20,450 --> 00:12:25,289 Es decir, estoy diciendo, imprímeme el tamaño de la lista 1 y yo le doy a ejecutar. 149 00:12:26,649 --> 00:12:30,350 Fijaros que me devuelve un 7, ¿vale? 150 00:12:30,350 --> 00:12:35,250 Me está devolviendo la longitud de la lista, es decir, cuántos elementos hay. 151 00:12:35,250 --> 00:12:42,370 Recuerdo que aunque hay 7 elementos, empezaremos en la posición 0 y terminaremos en la posición 6, ¿vale? 152 00:12:42,789 --> 00:12:43,830 Muy importante 153 00:12:43,830 --> 00:12:50,710 Ahora, si yo eso lo hago de una variable de tipo texto, ¿vale? 154 00:12:50,710 --> 00:12:54,850 Defino una variable que por ejemplo llamo b, ¿vale? 155 00:12:55,029 --> 00:13:02,570 Y digo, bienvenidos a la clase de pico 1, ¿vale? 156 00:13:02,570 --> 00:13:14,440 Y yo ahora le digo que me imprima la longitud de B, fijaros que lo que me devuelve es el número de caracteres que hay, ¿vale? 157 00:13:14,879 --> 00:13:18,779 Voy a poner una palabra más pequeña para que entendamos bien una cosa. 158 00:13:19,519 --> 00:13:24,960 Voy a poner hola, hola, ¿vale? 159 00:13:25,639 --> 00:13:29,720 Si os dais cuenta, aquí son dos palabras de cuatro caracteres cada una, ¿vale? 160 00:13:29,720 --> 00:13:57,299 Y podréis pensar, vale, pues cuando yo haga el len de esa variable me va a devolver 8, pero no, porque el espacio también se considera un carácter, ¿vale? Por lo tanto, va a devolver un 9, fijaros. Ahí lo tenéis, un 9, ¿vale? Entonces, importante, el número de caracteres siempre incluyen los espacios, los espacios son un carácter más, ¿vale? Igual que los saltos de líneas, también es un carácter más, ¿vale? 161 00:13:57,299 --> 00:14:02,179 Eso en cuanto a len, que como digo devuelve la longitud 162 00:14:02,179 --> 00:14:06,480 Luego tenemos otra función que es para determinar el máximo 163 00:14:06,480 --> 00:14:08,620 Que es max, ¿vale? 164 00:14:08,779 --> 00:14:10,200 Y se utiliza exactamente igual 165 00:14:10,200 --> 00:14:16,059 Fijaros, yo tengo aquí y pongo max de la lista 1 166 00:14:16,059 --> 00:14:18,700 Y lo que me debería devolver es el 98 167 00:14:18,700 --> 00:14:22,460 Si yo ejecuto, efectivamente me devuelve el 58 168 00:14:22,460 --> 00:14:23,340 ¿Vale? 169 00:14:24,320 --> 00:14:30,120 Ahora, el max no se comporta igual con número que con texto, ¿vale? 170 00:14:30,200 --> 00:14:35,559 Porque vosotros podéis pensar, vale, pues si yo utilizo max en la lista 2, ¿vale? 171 00:14:35,919 --> 00:14:43,299 Hago print max de lista 2, me va a devolver, por ejemplo, pimiento, que es la palabra más larga. 172 00:14:43,299 --> 00:14:46,379 Sin embargo, fijaros que cuando ejecuto me devuelve tomate. 173 00:14:46,960 --> 00:14:51,000 ¿Por qué? Porque max, cuando estamos utilizando listas de texto, 174 00:14:51,000 --> 00:14:55,899 lo que me devuelve es el último elemento en el abecedario, en el alfabeto, ¿vale? 175 00:14:56,159 --> 00:15:02,740 Por lo tanto, como tomate empieza por T y está después de la P de pimiento, nos devuelve tomate, ¿vale? 176 00:15:04,120 --> 00:15:12,480 Esta función tiene, digamos que la antítesis, la contraria, que sería el mínimo, y se utiliza con min, ¿vale? 177 00:15:12,740 --> 00:15:15,440 Y los resultados son los mismos, ¿vale? 178 00:15:15,940 --> 00:15:18,600 Yo hago min, ejecuto y fijaros. 179 00:15:18,600 --> 00:15:22,899 Para la lista numérica me devuelve el 2, que es el número más pequeño 180 00:15:22,899 --> 00:15:26,159 Y para la lista de texto me devuelve arroz, ¿vale? 181 00:15:26,480 --> 00:15:29,899 Fijaros que arroz y atún, los dos empiezan por A 182 00:15:29,899 --> 00:15:31,000 ¿Por qué devuelve arroz? 183 00:15:31,240 --> 00:15:35,580 Porque la siguiente letra después de la A es la R, que va antes de la T, ¿vale? 184 00:15:36,539 --> 00:15:38,500 Simplemente un orden alfabético, ¿vale? 185 00:15:40,259 --> 00:15:45,220 ¿Qué más funciones tenemos importantes o útiles que podemos utilizar en las listas? 186 00:15:45,220 --> 00:15:49,559 ¿Vale? O en listas, o más bien en elementos, perdón 187 00:15:49,559 --> 00:15:54,159 Pues una función es la función para hacer el valor absoluto 188 00:15:54,159 --> 00:15:58,519 ¿Vale? Es decir, para hacer el valor absoluto utilizaremos la función ABS 189 00:15:58,519 --> 00:16:02,600 Si yo pongo el valor absoluto de menos 10 y ejecuto 190 00:16:02,600 --> 00:16:07,360 El valor absoluto, recuerdo, que simplemente es un número negativo 191 00:16:07,360 --> 00:16:10,559 Lo pasa a positivo y un número positivo lo deja en positivo 192 00:16:10,559 --> 00:16:13,519 ¿Vale? Entonces, si ponemos menos 10 nos devuelve 10 193 00:16:13,519 --> 00:16:16,360 ¿Vale? Simplemente eso, muy sencillo 194 00:16:16,360 --> 00:16:16,820 ¿Vale? 195 00:16:18,320 --> 00:16:23,080 Luego tenemos variables para redondear números en comas flotantes 196 00:16:23,080 --> 00:16:30,740 ¿Vale? Si yo tengo una variable a que es de 438721 197 00:16:30,740 --> 00:16:34,299 ¿Vale? Por ejemplo, esa es mi variable a 198 00:16:34,299 --> 00:16:35,799 Y yo imprimo aquí a 199 00:16:35,799 --> 00:16:39,379 Yo puedo también redondear esa variable 200 00:16:39,379 --> 00:16:41,259 ¿Vale? Entonces, ¿Cómo lo hago? 201 00:16:41,360 --> 00:16:42,720 Con la función round 202 00:16:42,720 --> 00:16:54,919 ¿Vale? Si yo pongo round y pongo directamente a, ¿vale? Me va a devolver, me va a redondear al entero más cercano, ¿vale? En este caso me redondea a 4, ¿vale? 203 00:16:55,379 --> 00:17:11,200 Pero, fijaros que el número original a era este, ¿vale? Y con round me ha redondeado a 4, ¿vale? Sin embargo, yo puedo redondear con el número de decimales que yo quiera, ¿vale? 204 00:17:11,200 --> 00:17:17,059 Si yo pongo aquí A y luego pongo coma 2, me va a redondear con dos decimales, ¿vale? 205 00:17:17,200 --> 00:17:21,579 Y fijaros, si ejecuto, me queda 4,39, ¿vale? 206 00:17:21,640 --> 00:17:27,180 ¿Por qué? Porque el siguiente decimal era un 7 y me pasa, me sube uno, ¿vale? 207 00:17:27,440 --> 00:17:34,099 Si yo pongo con tres decimales, me queda 4,387, ¿vale? 208 00:17:34,200 --> 00:17:38,460 Y así puedo yo controlar cómo redondear ese número, ¿vale? 209 00:17:42,829 --> 00:17:50,910 Bien, luego tenemos para listas una función muy útil que es la función para sumar elementos, ¿vale? 210 00:17:51,329 --> 00:18:01,130 Es decir, si yo tengo la lista 1 y quiero sumar todos los elementos de esa lista, directamente lo único que haría sería sum y lista 1, ¿vale? 211 00:18:01,430 --> 00:18:08,549 Y si yo ejecuto, la suma de todos los elementos de la lista 1 me da 223, ¿vale? 212 00:18:08,549 --> 00:18:15,369 Y por último, tenemos funciones para ordenar elementos de una lista. 213 00:18:15,609 --> 00:18:21,869 Y las podemos utilizar, tenemos dos funciones, que hacen lo mismo, pero de forma diferente. 214 00:18:22,210 --> 00:18:23,289 Me explico, ¿vale? 215 00:18:23,509 --> 00:18:30,789 Tenemos, por un lado, la función sort, ¿vale? 216 00:18:30,970 --> 00:18:37,230 Es decir, fijaros que nosotros la lista 1 es una lista de números sin ordenar, ¿vale? 217 00:18:37,230 --> 00:18:44,289 Entonces, si yo imprimo la lista 1, fijaros que me sale aquí esa lista sin ordenar. 218 00:18:44,349 --> 00:18:46,970 Si yo la quiero ordenar de menor a mayor, ¿vale? 219 00:18:47,450 --> 00:18:54,049 Lo que yo puedo hacer, por un lado, en uno de los métodos sería decir a.sort, ¿vale? 220 00:18:54,509 --> 00:18:58,630 Eso directamente me ordenaría la lista a, ¿vale? 221 00:18:59,049 --> 00:19:02,490 Y yo ahora, perdón, a no, la mía se llama lista 1, ¿vale? 222 00:19:03,289 --> 00:19:06,769 Y yo ahora imprimo esa lista 1, ¿vale? 223 00:19:06,769 --> 00:19:25,309 Entonces, fijaros, mi lista 1 era esta, ¿vale? Y ahora mi lista 1 ha cambiado, ha cambiado y ahora está ordenada, ¿vale? Por lo tanto, yo ahora cuando acceda a mi lista 1, siempre va a estar ordenada, ¿vale? ¿Entendemos? 224 00:19:25,309 --> 00:19:31,390 Otra forma de hacer esto sería con la función sorted, ¿vale? 225 00:19:31,490 --> 00:19:33,250 Es decir, terminado en ed 226 00:19:33,250 --> 00:19:35,250 ¿Cuál es la diferencia? 227 00:19:35,650 --> 00:19:41,130 Que la función sorted no modifica la variable original, ¿vale? 228 00:19:41,210 --> 00:19:44,029 La que termina en ed no modifica la variable original 229 00:19:44,029 --> 00:19:45,170 ¿Cómo lo haríamos? 230 00:19:45,170 --> 00:19:47,309 Pues muy fácil, si yo ahora cojo aquí 231 00:19:47,309 --> 00:19:59,940 Y digo, imprímeme la lista 1 ordenada, ¿vale? 232 00:20:01,039 --> 00:20:03,160 Entonces, fijaros que imprimo... 233 00:20:05,180 --> 00:20:07,140 Bueno, antes de nada, perdonad, ¿vale? 234 00:20:07,460 --> 00:20:09,440 Estamos sobre este código de antes, ¿vale? 235 00:20:10,279 --> 00:20:14,880 Fijaros que aquí yo tengo lista 1 aquí y lista 1 aquí. 236 00:20:15,079 --> 00:20:17,000 Print lista 1 aquí y print lista 1 aquí. 237 00:20:17,000 --> 00:20:22,400 Eso significa que estoy imprimiendo la misma variable, pero ya la variable ha cambiado, ¿vale? 238 00:20:22,619 --> 00:20:30,359 Entonces, si yo ahora me voy y lo que hago es print sorted de lista 1, ¿vale? 239 00:20:30,700 --> 00:20:35,339 Y luego vuelvo a imprimir la variable, la lista, perdón, 1, ¿vale? 240 00:20:35,819 --> 00:20:36,839 Fijaros lo que ocurre. 241 00:20:39,160 --> 00:20:43,759 Ocurre que primero se imprime la lista, la que yo tenía, desordenada. 242 00:20:43,759 --> 00:20:50,880 luego me la imprime ordenada, pero la lista original sigue estando desordenada, ¿vale? 243 00:20:51,000 --> 00:20:55,799 Por lo tanto, yo no he hecho ninguna modificación sobre esa variable, ¿vale? 244 00:20:56,440 --> 00:21:07,829 Es decir, sort ordena y modifica la variable original, y sortit ordena y no modifica la variable original, ¿vale? 245 00:21:08,289 --> 00:21:12,039 Esas dos diferentes, ¿ok? 246 00:21:12,039 --> 00:21:18,400 Y con esto es todo, ¿vale? 247 00:21:18,759 --> 00:21:25,279 Si tenéis cualquier pregunta, pues al foro de la asignatura y ahí lo veremos, ¿vale? 248 00:21:25,700 --> 00:21:26,500 Muchas gracias