Bienvenidos. En esta lección aprenderemos cómo trabajar con colecciones de tipos propios. Hasta ahora hemos visto cómo trabajar con listas, por ejemplo, listas de strings, se pueden recorrer, se puede acceder a un elemento, etcétera, exactamente lo mismo que podemos hacer con una lista de tipos propios, como por ejemplo, una lista de variable de tipo "carta". Miremos este mismo ejemplo tipo carta. El tipo propio carta tiene dos atributos, el número de la carta y la pinta, también conocida como el palo de la carta. En este ejemplo, creamos cuatro cartas, y luego creamos una lista con las cuatro cartas que llamamos "mano". Al ser una lista, podemos agregar otro elemento, por ejemplo, agregamos una nueva carta a nuestra mano, pero como es una lista, también la podemos recorrer, en este ejemplo, recorremos "carta carta" de la mano, que es una lista de variables de tipo carta, contando cuántas de estas cartas tienen como atributo la pinta "corazones". En este otro ejemplo, trabajamos con la clase "estudiante". La clase estudiante tiene tres atributos, el nombre del estudiante, la nota que sacó en el examen parcial del curso, y la nota que sacó en el examen final del curso. La clase estudiante también tiene un método, calcular nota, que calcula la nota final del estudiante. Para la nota final, el examen cuenta un 30 por ciento el examen parcial, y el examen final cuenta un 70 por ciento. En este ejemplo vemos cómo definir una función, hay "nombre" que recibe dos parámetros, una lista de variables de tipo estudiante y un string con un nombre. La función retorna un booleano indicando si hay un estudiante en la lista con ese nombre dado, para esto lo que haremos es iterar la lista "estudiante estudiante", comprobando si el nombre del estudiante que estoy analizando, coincide con el nombre dado. De forma similar, podemos definir una función "hay nota" que recibe una lista de variables de tipo estudiante y un float con una nota, y lo que hace la función es buscar si hay algún estudiante que tenga una nota final del curso igual a la que te han pasado como parámetro. En este caso, de forma similar al anterior, recorremos la lista de estudiantes, "estudiante estudiante", y para cada estudiante obtenemos su nota final llamando al método "calcular nota", que tiene cada estudiante. Y asà es como podemos trabajar con una lista de variables de tipos propios.