Usos prácticos de listas (1)
Sabemos qué es una lista en Python y cómo podemos usarla, pero nos interesa conocer para qué podemos usarlas en la práctica. Este será el tema de mi segunda entrada, aunque de forma limitada.
Dado que las listas permiten diferentes tipos de datos, datos repetidos y modificación del contenido, resultan ser muy útiles para dar respuesta a situaciones en las que tenemos que recopilar diferentes datos de distintos tipos y, además, desconocemos cuantos.
El caso extremo es, por ejemplo, cuando debemos introducir desde teclado los resultados de la aplicación de una prueba aplicada a un grupo de alumnos. Aquí tenemos datos de distinto tipo (string para nombres, datos en formato fecha, valores numéricos que se pueden repetir...); además no sabemos a priori de cuantos datos estamos hablando.
Para empezar podemos declarar una lista vacía y después dotarla de contenido desde teclado haciendo uso de un bucle. Una vez cumplimentada la recogida de datos en la lista podemos procesar esos datos y/o almacenarlos en un archivo a modo de registro de base de datos.
Vamos a pedirle a Gemini que genere un script que cumpla estos objetivos y a analizar el modo en que plantea el uso de la lista.
Este script funciona correctamente en local (trasladándolo a tu IDE) y se ajusta a lo establecido en la descripción inicial, pero para ello fue necesario realizar modificaciones a la oferta inicial de Gemini. En este caso estas modificaciones fueron hechas mediante solicitudes (prompt), aunque también es posible trabajar directamente sobre el código. El traslado como Gist a GitHub permite incrustarlo en la entrada y acceder al notebook de Colab sobre el que fue construida la versión que te muestro.
Pero vamos a centrarnos en el análisis del modo de uso de la lista, que es el objetivo principal de esta entrada.
Este script contiene procedimientos que superan con mucho los objetivos básicos de esta entrada, aunque responde a las demandas formuladas a Gemini y recoge lo fundamental de nuestro propósito. Gracias a lo primero disponemos de un script perfectamente listo para usar con pocos cambios en contextos de aplicación de pruebas. Gracias a lo segundo, podemos apreciar el procedimiento básico de uso de una lista como recurso para recoger datos por teclado: el uso de la función append()...
sujeto_datos.append()
... que en este script se usa en cuatro ocasiones, en función de los diferentes contextos en que es necesaria. Obsérvese que los datos conocidos y seguros (los de identificación) se obtienen inicialmente mediante variables, siendo éstas las que inicializan la lista (sujeto_datos = [nombre, apellidos, edad, curso]). A partir de este punto es cuando entra en juego las distintas posibilidades que contempla el script, motivo por el que se usan las estructuras condicionales, pero también el procedimiento de incorporación de datos a la lista mediante la función append().
Como nota casi al margen (no es relevante para los objetivos de esta entrada), el tratamiento que se da a los datos recopilados en el momento de ser almacenados en el archivo txt (ver el documento txt que resulta de la aplicación del script) facilita el posterior tratamiento de estos datos mediante una hoja de cálculo y/o mediante un script Python. Te sugiero que compruebes lo primero accediendo a ese archivo txt desde una hoja Calc o desde Excel.
