Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

Listas en Python - TICO - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 28 de abril de 2020 por Fernando M.

108 visualizaciones

Descargar la transcripción

Hola, hoy vamos a hacer una clase sobre las listas en Python 00:00:00
Una lista no es más que una colección de información 00:00:06
Esa información puede ser de tipo texto, puede ser de tipo número, puede ser de tipo número con coma flotante 00:00:12
Puede ser de tipo booleano, puede ser de cualquier tipo, incluso se pueden mezclar los tipos 00:00:20
¿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? 00:00:24
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? 00:00:36
Entonces, si yo creo, por ejemplo, una lista a la que llamo lista 1, ¿vale? 00:00:45
Esta lista la puedo crear de forma vacía, ¿vale? 00:00:50
Si la creo vacía, lo único que tengo que hacer es poner corchete. 00:00:53
Entonces, fijaros, si yo le imprimo esta lista, lista 1, ¿vale? 00:00:58
Y ejecuto, vemos que lo que nos devuelve a la salida es nada, algo vacío, ¿vale? 00:01:02
Si yo a esta lista le quiero empezar a asignar contenido, ¿vale? 00:01:09
Por ejemplo, vamos a crear una primera lista que sea únicamente de números, ¿vale? 00:01:12
Lista de números enteros, ¿vale? 00:01:17
Y entonces yo le asignaría pues el 2, el 6, el 17, el 4, el 98, el 74, el 22, ¿vale? 00:01:20
Eso sería una lista. 00:01:33
Si yo ahora imprimo esta lista, fijaros que ahora lo que nos imprimen son los diferentes elementos de esa lista, ¿vale? 00:01:34
Al igual que tenemos listas de números enteros, podemos tener listas que sean únicamente de texto, ¿vale? 00:01:44
Por ejemplo, si yo quiero hacer una lista de la compra, ¿vale? 00:01:51
Que llamo la lista, la voy a llamar lista 2, pues yo pondría aquí arroz, patata, atún, tomate, pimiento, leche, ¿vale? 00:01:54
Y de la misma forma yo podría imprimir esa lista 2, ¿vale? 00:02:20
Fijaros el resultado, es que me imprime por un lado la lista numérica y por el otro lado la lista de texto, ¿vale? 00:02:24
Una ventaja de las listas en Python es que nos permite mezclar tipos de datos, ¿vale? 00:02:34
Yo podría tener en este caso una lista 3, ¿vale? 00:02:40
Que lo que tuviera fuese diferentes cosas, como por ejemplo, pues, azul 38, rojo 00:02:44
verde 00:02:58
411 00:03:02
por ejemplo 00:03:07
y de la misma forma 00:03:09
esa lista se imprimiría 00:03:11
exactamente igual que la otra 00:03:14
se mostraría en pantalla exactamente igual 00:03:15
simplemente 00:03:17
que nos distingue entre aquellas variables 00:03:19
que son de tipo string, de tipo texto 00:03:22
y aquellas variables que son numéricas 00:03:23
¿vale? 00:03:25
Ahora, ¿cómo accedo yo dentro de una lista, cómo accedo yo a un elemento en concreto? 00:03:26
Pues entonces lo que hacemos simplemente es que vamos a, si nos interesa, en caso que nos interese 00:03:34
Guardar la información de un elemento en una variable, yo me crearía una variable del nombre que sea, ¿vale? 00:03:40
Por ejemplo, a, ¿vale? 00:03:46
Y en a guardaré el valor, por ejemplo, el primer valor de la lista, ¿vale? 00:03:48
El primer valor de la lista, si os dais cuenta, es el 2, ¿vale? 00:03:55
Entonces, algo que tenemos que aprender o que tenemos que recordar de listas en Python 00:03:59
es que siempre empiezan por la posición 0, ¿vale? 00:04:03
Entonces, si yo pongo aquí lista de 1 de 0 y eso es lo que imprimo, ¿vale? 00:04:07
Yo imprimo a, fijaros, que lo que estoy imprimiendo es el 2. 00:04:13
¿Por qué? Porque, como digo, las listas siempre empiezan en 0, ¿vale? 00:04:20
Si yo quisiera ahora, por ejemplo, el número 17, pondría lista de 2, ¿vale? 00:04:23
Y al imprimirlo, vemos que tenemos aquí el elemento 17, ¿vale? 00:04:31
Es decir, recordad siempre que empezamos en 0, ¿vale? 00:04:36
Esto lo podríamos llevar para cualquier tipo de lista. 00:04:40
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? 00:04:42
El tercer elemento. 00:04:51
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? 00:04:53
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? 00:05:05
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. 00:05:16
Yo cogería ahora y pondría lista2.append, ¿vale? 00:05:30
Append es una función que el contenido que nosotros le pasemos a append, 00:05:36
que en este caso va a ser, por ejemplo, pan, ¿vale? 00:05:41
Ese elemento lo va a poner al final de la lista, ¿vale? 00:05:45
De tal forma que si yo ahora imprimo lista2, ¿vale? 00:05:49
Voy a eliminar las otras impresiones para que no aparezcan en la pantalla, ¿vale? 00:05:53
Fijaros, yo ahora, esta es la primera, esta impresión que veis aquí, corresponde con esta de aquí, ¿vale? 00:06:01
Y la siguiente, una vez que hemos añadido pan, que como digo, pan siempre se añade al final de la lista, ¿vale? 00:06:09
Si nosotros quisiéramos añadir un elemento en una posición en concreto de la lista, ¿vale? 00:06:16
Cual sea, ¿vale? 00:06:23
Simplemente pondríamos lista2.insert, ¿vale? 00:06:24
Y ahora dentro ponemos la posición en la que queramos meter ese elemento, ¿vale? 00:06:29
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? 00:06:33
Y ahora ponemos el elemento que queremos comprar, que en este caso pues va a ser, pues no sé, carne, ¿vale? 00:06:44
Y le damos a ejecutar 00:06:53
Y fijaros, se me ha olvidado imprimir la lista, vale 00:06:58
Imprimimos otra vez 00:07:01
Y fijaros ahora 00:07:03
Nosotros partimos de la lista inicial, que es esta, vale 00:07:06
Hemos añadido pan, utilizando APEN, hemos añadido pan al final del todo, vale 00:07:11
Y luego hemos añadido carne en la cuarta posición, vale 00:07:18
Fijaros, tenemos primero arroz, patata, atún y carne, ¿vale? 00:07:23
Es decir, ya vemos para lo que sirve la función append y la función insert, ¿vale? 00:07:30
De la misma forma que podemos meter elementos dentro de una lista, podemos sacarlos o podemos eliminarlos, ¿vale? 00:07:35
¿Cómo los eliminamos? 00:07:42
Pues nosotros utilizaríamos la lista que queremos y ponemos remove 00:07:44
y dentro el elemento que queremos borrar 00:07:51
imaginemos que queremos borrar el tomate 00:07:54
e imprimimos la lista 00:07:57
fijaros, esta es la lista inicial 00:08:02
esto es después de utilizar la función append 00:08:08
después de utilizar la función insert 00:08:12
y después de utilizar la función remove 00:08:14
nos ha eliminado el elemento que había de tomate 00:08:17
¿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. 00:08:22
Y fijaros que solo ha borrado el primer tomate, ¿vale? 00:08:46
Es decir, que la función remove elimina el primer elemento que coincida con lo que nosotros le pasamos como argumento, ¿vale? 00:08:49
Solo elimina el primer elemento, ¿vale? 00:08:57
Ok, pues lo voy a borrar para que no esté por ahora repetido, ¿vale? 00:09:02
Para que no haya confusión. 00:09:06
Y también podemos borrar un elemento de una posición. 00:09:08
Por ejemplo, si nosotros no sabemos qué es lo que hay en esa posición, pero aún así lo queremos borrar, 00:09:11
Pues pondríamos lista2.pop 00:09:15
Y aquí ponemos lo que queremos borrar 00:09:20
Imaginaros que yo quiero borrar la posición 1 00:09:23
Que en este caso corresponde a la patata 00:09:25
Y fijaros que ya la patata no existe 00:09:28
¿Vale? 00:09:34
Estas serían diferentes funciones que hay para manipular listas 00:09:36
¿Vale? 00:09:42
Que son, ya vemos, muy útiles para meter elementos nuevos o para sacar elementos 00:09:43
Ahora, vamos a ver otra parte de esta clase que es algunas funciones importantes 00:09:50
Algunas de ellas se pueden utilizar con listas y otras son válidas tanto para listas como para variables normales, ¿vale? 00:09:56
Entonces, en primer lugar 00:10:06
Lo que quiero ver es que entendáis 00:10:09
Que una variable de string 00:10:12
Se puede comportar a su vez como una lista 00:10:14
¿Vale? 00:10:18
Me explico 00:10:19
Nosotros hemos visto que la lista 2 00:10:19
Era una lista que tenía muchos strings diferentes 00:10:22
Que era una lista de la compra, ¿vale? 00:10:25
Imaginaros que yo quiero sacar de ahí el elemento 1 00:10:27
¿Vale? 00:10:30
El elemento 1 00:10:31
Y lo quiero guardar en una variable, ¿vale? 00:10:32
Entonces yo diría 00:10:34
A es igual a lista 2 de 0, ¿vale? 00:10:35
Con eso estoy sacando el arroz, ¿vale? 00:10:42
Y ahora yo quiero que se imprima por pantalla únicamente la Z de esa palabra arroz, ¿vale? 00:10:45
Si os dais cuenta, si yo considero que arroz, que es una variable de texto, una variable string, se comporta como una lista, 00:10:51
la A correspondería con la posición 0, la R con la 1, la otra R con la 2. 00:10:59
La O con la 3 y la Z con la 4. 00:11:06
Por lo tanto, si yo hago print de A de 4 y ejecuto, fijaros que lo que me imprime es la letra Z. 00:11:10
¿Vale? Eso significa que un array, una variable de texto, se puede comportar también como una lista. 00:11:20
¿Vale? En cierta medida, o se puede manipular como una lista. 00:11:28
Vale, entonces, a lo que hay, vamos a las funciones importantes. 00:11:34
Voy a borrar todo esto, ¿vale? 00:11:36
Lo tenéis en los apuntes que os he dado 00:11:39
Y me voy a quedar solo con las listas, ¿vale? 00:11:41
Entonces, la primera función importante que nosotros vamos a ver 00:11:45
O función útil, ¿vale? 00:11:48
Es la función len 00:11:50
Que es una función que devuelve el tamaño de una lista, ¿vale? 00:11:52
Entonces, fijaros 00:11:56
La primera lista 1, ¿vale? 00:11:57
Tiene 1, 2, 3, 4, 5, 6 y 7 elementos, ¿vale? 00:12:00
Es decir, que si yo hago len de una lista, me tiene que devolver el tamaño de esa lista, ¿vale? 00:12:05
Vamos a ver, si yo pongo print len de lista 1, ¿vale? 00:12:13
Es decir, estoy diciendo, imprímeme el tamaño de la lista 1 y yo le doy a ejecutar. 00:12:20
Fijaros que me devuelve un 7, ¿vale? 00:12:26
Me está devolviendo la longitud de la lista, es decir, cuántos elementos hay. 00:12:30
Recuerdo que aunque hay 7 elementos, empezaremos en la posición 0 y terminaremos en la posición 6, ¿vale? 00:12:35
Muy importante 00:12:42
Ahora, si yo eso lo hago de una variable de tipo texto, ¿vale? 00:12:43
Defino una variable que por ejemplo llamo b, ¿vale? 00:12:50
Y digo, bienvenidos a la clase de pico 1, ¿vale? 00:12:55
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? 00:13:02
Voy a poner una palabra más pequeña para que entendamos bien una cosa. 00:13:14
Voy a poner hola, hola, ¿vale? 00:13:19
Si os dais cuenta, aquí son dos palabras de cuatro caracteres cada una, ¿vale? 00:13:25
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? 00:13:29
Eso en cuanto a len, que como digo devuelve la longitud 00:13:57
Luego tenemos otra función que es para determinar el máximo 00:14:02
Que es max, ¿vale? 00:14:06
Y se utiliza exactamente igual 00:14:08
Fijaros, yo tengo aquí y pongo max de la lista 1 00:14:10
Y lo que me debería devolver es el 98 00:14:16
Si yo ejecuto, efectivamente me devuelve el 58 00:14:18
¿Vale? 00:14:22
Ahora, el max no se comporta igual con número que con texto, ¿vale? 00:14:24
Porque vosotros podéis pensar, vale, pues si yo utilizo max en la lista 2, ¿vale? 00:14:30
Hago print max de lista 2, me va a devolver, por ejemplo, pimiento, que es la palabra más larga. 00:14:35
Sin embargo, fijaros que cuando ejecuto me devuelve tomate. 00:14:43
¿Por qué? Porque max, cuando estamos utilizando listas de texto, 00:14:46
lo que me devuelve es el último elemento en el abecedario, en el alfabeto, ¿vale? 00:14:51
Por lo tanto, como tomate empieza por T y está después de la P de pimiento, nos devuelve tomate, ¿vale? 00:14:56
Esta función tiene, digamos que la antítesis, la contraria, que sería el mínimo, y se utiliza con min, ¿vale? 00:15:04
Y los resultados son los mismos, ¿vale? 00:15:12
Yo hago min, ejecuto y fijaros. 00:15:15
Para la lista numérica me devuelve el 2, que es el número más pequeño 00:15:18
Y para la lista de texto me devuelve arroz, ¿vale? 00:15:22
Fijaros que arroz y atún, los dos empiezan por A 00:15:26
¿Por qué devuelve arroz? 00:15:29
Porque la siguiente letra después de la A es la R, que va antes de la T, ¿vale? 00:15:31
Simplemente un orden alfabético, ¿vale? 00:15:36
¿Qué más funciones tenemos importantes o útiles que podemos utilizar en las listas? 00:15:40
¿Vale? O en listas, o más bien en elementos, perdón 00:15:45
Pues una función es la función para hacer el valor absoluto 00:15:49
¿Vale? Es decir, para hacer el valor absoluto utilizaremos la función ABS 00:15:54
Si yo pongo el valor absoluto de menos 10 y ejecuto 00:15:58
El valor absoluto, recuerdo, que simplemente es un número negativo 00:16:02
Lo pasa a positivo y un número positivo lo deja en positivo 00:16:07
¿Vale? Entonces, si ponemos menos 10 nos devuelve 10 00:16:10
¿Vale? Simplemente eso, muy sencillo 00:16:13
¿Vale? 00:16:16
Luego tenemos variables para redondear números en comas flotantes 00:16:18
¿Vale? Si yo tengo una variable a que es de 438721 00:16:23
¿Vale? Por ejemplo, esa es mi variable a 00:16:30
Y yo imprimo aquí a 00:16:34
Yo puedo también redondear esa variable 00:16:35
¿Vale? Entonces, ¿Cómo lo hago? 00:16:39
Con la función round 00:16:41
¿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? 00:16:42
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? 00:16:55
Si yo pongo aquí A y luego pongo coma 2, me va a redondear con dos decimales, ¿vale? 00:17:11
Y fijaros, si ejecuto, me queda 4,39, ¿vale? 00:17:17
¿Por qué? Porque el siguiente decimal era un 7 y me pasa, me sube uno, ¿vale? 00:17:21
Si yo pongo con tres decimales, me queda 4,387, ¿vale? 00:17:27
Y así puedo yo controlar cómo redondear ese número, ¿vale? 00:17:34
Bien, luego tenemos para listas una función muy útil que es la función para sumar elementos, ¿vale? 00:17:42
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? 00:17:51
Y si yo ejecuto, la suma de todos los elementos de la lista 1 me da 223, ¿vale? 00:18:01
Y por último, tenemos funciones para ordenar elementos de una lista. 00:18:08
Y las podemos utilizar, tenemos dos funciones, que hacen lo mismo, pero de forma diferente. 00:18:15
Me explico, ¿vale? 00:18:22
Tenemos, por un lado, la función sort, ¿vale? 00:18:23
Es decir, fijaros que nosotros la lista 1 es una lista de números sin ordenar, ¿vale? 00:18:30
Entonces, si yo imprimo la lista 1, fijaros que me sale aquí esa lista sin ordenar. 00:18:37
Si yo la quiero ordenar de menor a mayor, ¿vale? 00:18:44
Lo que yo puedo hacer, por un lado, en uno de los métodos sería decir a.sort, ¿vale? 00:18:47
Eso directamente me ordenaría la lista a, ¿vale? 00:18:54
Y yo ahora, perdón, a no, la mía se llama lista 1, ¿vale? 00:18:59
Y yo ahora imprimo esa lista 1, ¿vale? 00:19:03
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? 00:19:06
Otra forma de hacer esto sería con la función sorted, ¿vale? 00:19:25
Es decir, terminado en ed 00:19:31
¿Cuál es la diferencia? 00:19:33
Que la función sorted no modifica la variable original, ¿vale? 00:19:35
La que termina en ed no modifica la variable original 00:19:41
¿Cómo lo haríamos? 00:19:44
Pues muy fácil, si yo ahora cojo aquí 00:19:45
Y digo, imprímeme la lista 1 ordenada, ¿vale? 00:19:47
Entonces, fijaros que imprimo... 00:20:01
Bueno, antes de nada, perdonad, ¿vale? 00:20:05
Estamos sobre este código de antes, ¿vale? 00:20:07
Fijaros que aquí yo tengo lista 1 aquí y lista 1 aquí. 00:20:10
Print lista 1 aquí y print lista 1 aquí. 00:20:15
Eso significa que estoy imprimiendo la misma variable, pero ya la variable ha cambiado, ¿vale? 00:20:17
Entonces, si yo ahora me voy y lo que hago es print sorted de lista 1, ¿vale? 00:20:22
Y luego vuelvo a imprimir la variable, la lista, perdón, 1, ¿vale? 00:20:30
Fijaros lo que ocurre. 00:20:35
Ocurre que primero se imprime la lista, la que yo tenía, desordenada. 00:20:39
luego me la imprime ordenada, pero la lista original sigue estando desordenada, ¿vale? 00:20:43
Por lo tanto, yo no he hecho ninguna modificación sobre esa variable, ¿vale? 00:20:51
Es decir, sort ordena y modifica la variable original, y sortit ordena y no modifica la variable original, ¿vale? 00:20:56
Esas dos diferentes, ¿ok? 00:21:08
Y con esto es todo, ¿vale? 00:21:12
Si tenéis cualquier pregunta, pues al foro de la asignatura y ahí lo veremos, ¿vale? 00:21:18
Muchas gracias 00:21:25
Valoración:
  • 1
  • 2
  • 3
  • 4
  • 5
Eres el primero. Inicia sesión para valorar el vídeo.
Materias:
Tecnologías de la Información
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Bachillerato
    • Primer Curso
    • Segundo Curso
Autor/es:
Fernando Martínez Martí
Subido por:
Fernando M.
Licencia:
Reconocimiento - No comercial - Compartir igual
Visualizaciones:
108
Fecha:
28 de abril de 2020 - 13:36
Visibilidad:
Público
Centro:
IES EL BURGO - IGNACIO ECHEVERRÍA
Duración:
21′ 28″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
71.87 MBytes

Del mismo autor…

Ver más del mismo autor

Comentarios

Para publicar comentarios debes entrar con tu nombre de usuario de EducaMadrid.

Comentarios

Este vídeo todavía no tiene comentarios. Sé el primero en comentar.



EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid