Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Listas en Python - TICO - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
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
44
00:02:54
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:
- Eres el primero. Inicia sesión para valorar el vídeo.
- 1
- 2
- 3
- 4
- 5
- 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
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.