Saltar navegación

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

Colecciones en Python - 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 3 de febrero de 2026 por Alberto S.

5 visualizaciones

Descargar la transcripción

Bueno, estamos aquí en... vamos a hablar de la cuarta unidad de Python, en la que ya vamos a tratar las colecciones. 00:00:01
Principalmente estas cuatro, cadenas de caracteres, listas, tuplas y diccionario. 00:00:10
Ya sabéis que las cadenas de caracteres son como strings. 00:00:16
Luego las listas serían como una especie de array que podéis ver en C o en Java, 00:00:19
pero son diferentes 00:00:27
porque los arrays en C y en Java 00:00:30
son 00:00:32
elementos del mismo tipo 00:00:33
¿vale? 00:00:36
si son cadenas de 00:00:37
son caracteres 00:00:39
o son 00:00:41
integer o float 00:00:42
pero son del mismo tipo 00:00:44
sin embargo en Python sí que pueden ser 00:00:46
diferentes tipos, lo vamos a ver 00:00:49
luego tenemos las tuplas 00:00:50
que serían como listas pero 00:00:52
inmutables, ¿esto qué significa? 00:00:55
Pues que son como constantes, ¿verdad? 00:00:57
Una vez que las inicializas, tú no vas a poder coger un método 00:01:00
o le vas a poder asignar otro elemento a una posición. 00:01:05
Por eso son inmutables, ¿no? 00:01:10
Te va a decir que no te deja al intentar ejecutarlo. 00:01:12
¿Y esto para qué es útil, verdad? 00:01:15
Pues pensad que hay ciertos datos que tú vas a tratar en el código, 00:01:17
pero quizás no quieras que se cambien porque son cosas que son fijas. 00:01:27
Entonces utilizamos las tuplas. 00:01:31
Y también es conveniente utilizar las tuplas porque son más eficientes que las listas. 00:01:33
Entonces, si tenemos elementos que no van a cambiar, 00:01:37
pues deberíamos utilizar tuplas por esta razón precisamente. 00:01:39
Un ejemplo que he pensado yo por que lo visualicéis 00:01:43
podría ser los típicos combos de comida rápida, ¿verdad? 00:01:48
Que te dicen combo 1, combo 2, combo 3, 00:01:53
que te entran patatas, hamburguesas, refrescos, lo que sea. 00:01:55
Esos combos, en general, no van a cambiar. 00:02:00
Los estableces y luego, a partir de esos combos, 00:02:05
si alguien te pide el combo 1, 00:02:08
tú no vas a coger y le vas a modificar. 00:02:10
Es el combo 1 y ya está. 00:02:12
Y entonces, con ese combo 1 lo vas a facturar, 00:02:14
se lo vas a entregar, etc. 00:02:17
Vas a hacer ciertas operaciones, 00:02:19
pero sin cambiar el contenido del combo. 00:02:20
Para eso se utilizan las tuplas. 00:02:23
Y luego tenemos los diccionarios, que los diccionarios en Java serían como las hash table, que son elementos clave-valor. 00:02:25
Entonces, esto es como muy útil, ¿verdad? Porque cuando veamos programación orientada a objetos, que con ese tipo de programación ya es más potente, podemos hacer más cosas, 00:02:34
pues podréis imaginar que si la clave es el DNI y el valor es la persona, 00:02:46
pues con el DNI puedo obtener un objeto que sea persona 00:02:51
y esa persona tendrá todos los atributos de edad, peso, localización, ciudad de nacimiento, lo que sea. 00:02:54
Entonces, clave y valor. 00:03:08
Vamos un poco con el tema. 00:03:10
pues eso, ya tenéis abierta la unidad 4 00:03:11
aquí tenéis el contenido 00:03:16
y os he subido 00:03:17
esto que son 00:03:18
códigos de colecciones 00:03:22
que lo he escrito yo 00:03:24
para que tengáis algo por lo que empezar 00:03:27
y ver un poco como 00:03:29
funcionan las funciones 00:03:31
que tratan en el contenido 00:03:33
y bueno 00:03:35
porque siempre es más fácil 00:03:37
empezar con algo que está hecho 00:03:39
es como el pánico del escritor a las hojas en blanco 00:03:41
y de hecho si alguna vez trabajáis de programador 00:03:45
o ya habéis trabajado de programador 00:03:48
normalmente no te dan un código para que empieces 00:03:49
es raro empezar en un proyecto desde cero 00:03:54
normalmente ya te dan, entras en un proyecto empezado 00:03:57
o te dan ya código hecho 00:04:00
al que tú tienes que hacer ciertas modificaciones 00:04:03
entonces eso es como mucho más fácil porque entiendes 00:04:05
vas entendiendo cómo funciona el código 00:04:08
cómo se programa en esa empresa, las interdependencias que tienen y a partir de ahí, una vez que lo entiendes, es cuando le metes mano, ¿vale? 00:04:10
Pues aquí es un poco igual, os voy a dejar, bueno, ya os he dejado este código que incluye ejemplos de cadenas, listas, tuplas y diccionarios, como ya hemos visto 00:04:20
y a partir de aquí pues podéis ir cacharreando, ¿vale? 00:04:30
Entonces, vamos a empezar con las cadenas. 00:04:35
Aquí he declarado dos cadenas, cadena 1 y cadena 2. 00:04:39
Entonces, ya veis que como ya hemos ido haciendo a lo largo de este curso, 00:04:44
porque claro, ya hemos operado en realidad, hemos hecho ya cosillas con cadenas, listas y diccionarios anteriormente, ¿verdad? 00:04:50
Ahora lo vamos a ver un poco más en particular. Entonces, el problema de las cadenas es que te lo toma todo literal. Pero cuando le metes un slash, el intérprete ya entiende que aquí es un código especial. 00:04:57
Entonces, slash n es un salto de pantalla. Por ejemplo, slash t es esta ovulación. 00:05:16
Entonces, ya aquí entiende que tenemos hola y un salto de pantalla. 00:05:22
Aquí en cadena le he dejado un espacio al principio y uno al final porque quería que vierais cómo funciona la función strip. 00:05:27
Como indico aquí, elimina espacios al principio y final de la cadena. 00:05:34
Entonces, si ejecutamos esto, aquí estamos. Eliminar espacios. 00:05:39
¿Ves? Los espacios que he puesto aquí al principio y al final desaparecen. Entonces, vamos un poco uno por uno. Tenemos concatenar exacta línea y vamos a unir la cadena 1 y la cadena 2 con el operador más. 00:05:49
Esto se hace en muchos lenguajes de programación 00:06:09
Como C o Java 00:06:14
Es algo normal 00:06:15
Que para concretar cadenas 00:06:16
Utilizamos el operador más 00:06:18
Y ya está 00:06:21
Luego otro salto de línea 00:06:23
Luego slice 00:06:25
Que es como trozo 00:06:26
Hacer una porción 00:06:28
Entonces 00:06:30
Aquí lo que vamos a hacer es un corte 00:06:32
De la cadena 00:06:36
De la cadena 2 00:06:37
Entonces cogemos de la 0 a la 5. Si nos ponemos aquí, contamos 1, 2, 3, 4 y 5. Hasta aquí. Y es lo que nos saca. ¿Vale? 00:06:38
Luego, ¿qué más tenemos? Tenemos subcadena. Por ejemplo, aquí, para poner vida entre comillas, tenemos que poner slash, ¿vale? Porque si no, se va a liar, va a pensar que estas comillas es el fin de esta cadena. 00:06:49
pero si le ponemos slash comillas 00:07:11
ya sé que te lo mete dentro de la cadena 00:07:14
y te lo pone entre comillas 00:07:19
es el truquillo que se utiliza 00:07:21
que os lo he puesto ahí para que lo veáis también 00:07:23
entonces, aquí lo que tenemos 00:07:26
es que quiero encontrar la palabra vida 00:07:30
dentro de la cadena 2 00:07:33
y como esto va a devolver 00:07:35
un número 00:07:39
que en este caso es 17 00:07:41
porque la cadena vida 00:07:44
si nos ponemos aquí está el 00:07:46
1, 2, 3, 4, 5, 6, 7, 8, 9, 10 00:07:47
11, 12, 13, 14, 15, 16 00:07:50
y 17, empieza ahí 00:07:52
¿verdad? 00:07:54
nos dice que ha encontrado 00:07:56
la palabra vida en la posición 17 00:07:58
y como aquí estamos concatenando 00:08:00
cadenas 00:08:02
lo tengo que pasar a stream 00:08:03
por eso lo utilizo 00:08:05
que también podemos utilizar un 00:08:06
fString 00:08:09
y ponerlo aquí 00:08:11
entre cochetes, sí, claro que sí 00:08:13
ya lo hemos utilizado antes 00:08:15
pero bueno, están estas dos formas 00:08:17
luego tenemos la función upper 00:08:19
para poner la cadena en mayúscula 00:08:23
lower para poner la cadena 00:08:25
en minúscula 00:08:27
strip, que ya lo hemos 00:08:29
tratado, y luego replace 00:08:31
que aquí lo que estamos 00:08:33
haciendo es cogiendo la cadena 2 00:08:35
y en todas las que sean A, como esta, esta y esta, lo vamos a cambiar por E. 00:08:37
Entonces, aquí ya pone cómo TV le vive, ¿vale? 00:08:44
Luego tenemos otras fórmulas para concatenar, por ejemplo, con el join, ¿vale? 00:08:56
Si tengo aquí hola, una lista con hola y mundo, puedo decir que a esto le concatene el i, ¿vale? 00:09:01
Entonces, lo que va a hacer es sacar hola y mundo, ¿vale? Con el join. 00:09:17
Luego tenemos las fstream, que es lo que habíamos comentado, que esto también se puede hacer con fstream. 00:09:26
Y con el .2f lo que hacemos es que saque solo los dos primeros decimales. 00:09:32
Y luego también tenemos la función split, que lo que hace es dividir la frase en palabras, ¿vale? 00:09:40
En una lista de palabras, con la cual luego podríamos manipularla y utilizarla en nuestro provecho, dependiendo de lo que se necesite, ¿vale? 00:09:56
Esto serían las cadenas. Vamos con las listas. Aquí tenemos una lista simple en la que numeramos del 1 a 5, por ejemplo. Luego tenemos listas complejas que tienen dos elementos por posición y de diferente tipo, como hemos dicho antes, que pueden ser como arrays. 00:10:07
Esto sería un array, pero esto sí que es una lista con tipos diferentes. Aquí tenemos números, texto con un string, un booleano, un float. Entonces podemos tener varias combinaciones en este sentido. Voy aquí a limpiar el terminal para que se vea fácil. 00:10:29
Vale, aquí me gustaría pararme en las funciones lambda, map y filter, ¿vale? Entonces, las funciones lambda es como si hiciéramos una función pero temporal, no es algo que va a estar ahí permanente para que lo utilices, ¿no? 00:10:48
Por ejemplo aquí, con este lambda lo que hacemos es que por cada elemento le sumamos uno. 00:11:10
Podríamos hacer por ejemplo una función que se llamara suma1 y le pusiéramos algo parecido a esto, que retornara un entero. 00:11:15
Y le pasaríamos el número al que quiere sumar. 00:11:27
Pero esto es mucho más eficiente porque solo se va a ejecutar aquí y luego se va a destruir y se puede utilizar de esta forma, ¿no? Para funciones de este tipo. 00:11:31
Entonces, map, como indico ahí arriba, permite aplicar una operación a cada elemento de una lista. Vale, entonces recibe dos parámetros. 00:11:44
El primero es la función aplicar y el segundo es la lista donde la vamos a aplicar. 00:11:53
Entonces aquí con el lambda lo que estamos diciendo es que por cada elemento le sume uno. 00:11:59
¿A qué? A la lista simple. 00:12:05
Entonces si lo ejecutamos vamos a ver que está sumándole uno a la lista. 00:12:08
2, 3, 4, 5, 6, cuando antes empezaba por el 1. 00:12:15
Luego seguimos con el filter. 00:12:22
Y dice, filter, comprueba los elementos de nuestra lista si cumplen una determinada condición y si lo cumplen, la mete en otra lista resultado. 00:12:24
Entonces, el resultado va a ser una lista diferente. 00:12:38
Una lista resultado, como pongo yo aquí. 00:12:43
Entonces, lo que devuelva hay que transformarlo a lista. 00:12:46
Y se utiliza de la misma manera. 00:12:54
se utiliza filter, la condición 00:12:57
que tiene que cumplir para que ese elemento 00:12:59
se meta en la nueva lista 00:13:01
y la lista que vamos a chequear. 00:13:03
¿Vale? 00:13:06
Aquí lo que estamos haciendo es que solo 00:13:07
queremos los 00:13:09
los pares. 00:13:11
¿Vale? 00:13:16
Entonces se mete el 2 00:13:16
y el 4. La verdad es que 00:13:19
se tendría que meter el 6 también. 00:13:21
La verdad es que no sé... 00:13:24
Bueno, ya sé por qué o sí. 00:13:26
lista pares 00:13:28
aquí lista simple 00:13:31
claro, lista simple la hemos modificado 00:13:33
no, no la hemos modificado 00:13:36
ah, claro, por eso 00:13:37
claro, es que la lista simple 00:13:39
no es esta 00:13:42
porque esta es lista plus 00:13:42
la lista simple es esta de aquí 00:13:45
que va del 1 al 5 00:13:47
y por eso solo nos saca el 2 y el 4 00:13:49
vale, claro 00:13:51
porque va del 1 al 5 00:13:53
que es la que está cogiendo 00:13:56
Claro, si hubiera puesto lista plus aquí, pues sí que estaría cogiendo el 4 y el 6, exactamente. 00:13:57
Pues eso, ponemos aquí con un lambda la condición que tiene que cumplir para que ese elemento se incorpore a la nueva lista. 00:14:03
¿Vale? 00:14:11
Entonces, un pequeño programilla para ver cómo funcionan las listas. 00:14:14
Aquí tenemos una lista vacía de frutas. 00:14:19
¿Vale? 00:14:23
Se quiere igual a true para que se meta por primera vez. 00:14:23
Y pedimos una nueva fruta. 00:14:26
Entonces, si esta nueva fruta no está en frutas, la vamos a añadir con append. 00:14:29
Con append añades nuevos elementos a la lista y la imprimimos. 00:14:41
Que sí que está en frutas. 00:14:46
Vamos a ver en qué posición está. 00:14:48
Entonces, vamos a imprimir la posición. La fruta ya existe en posición tal. 00:14:54
Y vamos a pedir si quiere continuar. 00:15:00
Si dice que sí, pues volverá. 00:15:03
Y si dice que no, saldrá. 00:15:05
Así de sencillo. 00:15:06
Entonces, si ponemos manzana, me la muestra. 00:15:08
Pera, uva. 00:15:13
Ahora miramos pera de nuevo. 00:15:16
Y me dice que está en la posición 1. 00:15:19
Porque manzana está en la posición 0 y pera está en la posición 1. 00:15:22
¿Vale? 00:15:28
Ya sabéis cómo funciona. 00:15:29
Vamos con las tuplas. 00:15:33
Vamos a borrar el terminal de nuevo. 00:15:35
Entonces, como indico aquí, las tuplas son más rápidas que las listas y son 00:15:39
inmutables, que no pueden cambiar, ¿vale? Pueden aceptar varios tipos, íntegrar un 00:15:44
string, o una lista, un float... Entonces, 00:15:50
ponemos un string, o sea, sí, una cadena, ¿vale? Como esta, frase para trabajar con 00:15:57
tuplas, y la convertimos a tupla, con la función tuple, ¿vale? 00:16:03
Ya se ha convertido en una tupla, que quiere decir que esta tupla no la vamos a poder modificar. 00:16:09
Y la imprimimos. 00:16:18
Como veis, se imprime así. 00:16:22
Luego, ¿qué más tenemos? 00:16:27
Tupla numérica, del 1 al 9. 00:16:29
Entonces, una particularidad que tiene Python, tanto para listas como para tuplas, 00:16:32
es que los índices pueden tomar números, valores negativos. 00:16:39
que es bastante curioso, ¿verdad? Porque normalmente lo que vemos en Java o en .NET es que va de 0 a infinito, 00:16:44
dependiendo del número de elementos que tenga el array o la lista, ¿verdad? 00:16:52
Pero aquí puede coger números negativos, y eso quiere decir que va a empezar desde el final. 00:16:57
Entonces, este es el elemento menos 1, este es el elemento menos 2, y por eso nos saca 8, 00:17:02
porque aquí estamos sacando el elemento menos 2. 00:17:09
y bueno, pues lo que tenemos 00:17:12
en las tuplas es una colección 00:17:18
de read-only, o sea, solo vamos a poder 00:17:21
leer información de la tupla, no la vamos a poder modificar por todo lo que he 00:17:25
explicado. Entonces, ¿qué funciones 00:17:30
tenemos? Tenemos la de length, que nos dice que la longitud son 00:17:34
32 caracteres, es decir, te dice la longitud de 00:17:37
de la tupla, el valor mínimo, que es 1, y el valor máximo, que es 9, ¿vale? Entonces, vamos con el diccionario. 00:17:41
Los diccionarios son colecciones de clave-valor, como la hashtag en Java, si alguno ha trapichado con Java. 00:17:55
Y a ver... Sí. Tenemos clave, valor. Nombre, Juan. Edad, 23. Ciudad, Madrid. 00:18:04
Vale, entonces, si queremos acceder a los elementos, no accedemos y decimos diccionario 1 para saber la edad. 00:18:18
No, decimos diccionario edad. 00:18:26
Y con esto lo que sacamos es el valor. 00:18:29
Llamamos a la clave y obtenemos el valor. 00:18:33
Nombre, Juan. 00:18:38
Ciudad, Madrid. 00:18:39
Entonces, también se puede crear un diccionario de esta forma o con la función dict. 00:18:43
Entonces tenemos una persona con estos atributos. 00:18:51
Clave, valor, clave, valor, clave, valor. 00:18:57
Lo que tenemos entonces es que persona es un diccionario, 00:19:03
por lo tanto podemos utilizar funciones de los diccionarios, 00:19:09
como son keys, que lo que te hace es sacar todas las claves de ese diccionario, 00:19:13
nombre, edad y ciudad. 00:19:19
Te la va a sacar, lo suyo es transformarlo en una lista, 00:19:22
porque son listas de elementos. Luego tenemos los valores con values, que vamos a hacer lo mismo, y luego el diccionario entero. 00:19:26
Para sacar el diccionario entero lo que vamos a hacer es utilizar la función items, ¿vale? Y ya te sacaría el diccionario entero. 00:19:36
¿Cómo recorremos un diccionario? Pues de esta manera, for clave valor in persona.items, es decir, que por cada clave valor 00:19:44
en todo el diccionario. 00:19:54
Porque hemos dicho que con persona.items 00:19:58
lo que hacemos es sacar todo el diccionario. 00:20:01
Entonces, pues lo podemos poner así 00:20:04
para que aparezca idéntico a como lo estamos viendo. 00:20:06
Entonces, vale aquí. 00:20:15
Esto es lo que devuelve. 00:20:19
Por cada elemento te dice nombre, dos puntos, valor. 00:20:22
que es lo que estamos sacando 00:20:25
porque aquí con la función pop 00:20:27
lo que hacemos es eliminar la edad 00:20:30
entonces aquí estamos eliminando la edad 00:20:33
si por ejemplo imprimimos 00:20:37
persona aquí 00:20:39
lo que vamos a obtener es 00:20:40
este mismo 00:20:45
nombre 00:20:48
este mismo diccionario con nombre edad ciudad 00:20:49
pero le hemos sustraído edad 00:20:54
Porque hemos utilizado el pop. Y veis aquí que está nombre y ciudad. Sin embargo, ahora con el update lo que hacemos es modificar los datos. Aquí ya estamos añadiendo edad y además añadimos una clave de valor que es nacionalidad española. 00:20:57
Y aquí ya veis que sí que ya se añade 00:21:14
¿Vale? Entonces 00:21:17
Pues con esto también se pueden hacer 00:21:19
Infinidad de cosas 00:21:21
Y ya estaría 00:21:22
¿Vale? Son las colecciones que 00:21:24
Como sabéis ya hemos 00:21:27
Utilizado algunas en ejercicios 00:21:29
Anteriores porque son muy útiles 00:21:31
Y muy comunes ¿Verdad? 00:21:33
Y en este tema los vamos a ver un poco con más detenimiento 00:21:35
Así que nada 00:21:38
Ánimo con la tarea 00:21:39
Y nos vemos en la próxima unidad 00:21:40
Adiós 00:21:43
Gracias. 00:21:44
Materias:
Tecnología
Etiquetas:
Innovación
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Formación Profesional
    • Ciclo formativo de grado básico
      • Primer Curso
      • Segundo Curso
    • Ciclo formativo de grado medio
      • Primer Curso
      • Segundo Curso
    • Ciclo formativo de grado superior
      • Primer Curso
      • Segundo Curso
Subido por:
Alberto S.
Licencia:
Reconocimiento - Compartir igual
Visualizaciones:
5
Fecha:
3 de febrero de 2026 - 22:38
Visibilidad:
Público
Centro:
IES CIFP a Distancia Ignacio Ellacuría
Duración:
21′ 46″
Relación de aspecto:
1.78:1
Resolución:
1280x720 píxeles
Tamaño:
38.71 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid