14. Listas con Diccionarios y Bases de Datos.

En este capítulo, vamos a ver la relación que existe entre Listas y Diccionarios con Bases de Datos, un tema que figura dentro de los contenidos mínimos.

Una lista de diccionarios no es una base de datos, pero constituye una representación en memoria que nos permite comprender de manera sencilla cómo se organizan registros y campos en una tabla de una base de datos.

Vamos a crear una Lista donde la misma contiene como términos a Diccionarios.

Por el momento, para facilitar el código no vamos a considera la posibilidad de que se generen excepciones !!

Ejemplo 1.

La lista con diccionarios será: 

datos=[{"nombre":"","edad":0,"dni":0},{"nombre":"","edad":0,"dni":0}]


Veamos el código para cargar esta lista llamada datos que tiene 2 diccionarios.


Podemos ver que para el for de la línea 4 y 9, la variable i es un diccionario!!.
Cuando hacemos referencia a un diccionario, para poder acceder a el valor debemos hacer referencia a la clave, tal como lo muestran las líneas, donde reitero i es un diccionario!



La salida al ejecutar este script sería:


Ejemplo 2.


Vamos a crear un script en el que no necesitemos escribir los nombres de las claves, para facilitar el ingreso.



Vemos que en la línea 4, el for, hace que la variable i sea uno de los diccionarios que forma parte de la lista datos.
Para la línea 5, el j toma los valores de las claves del diccionario i, es por eso que podemos cargar el valor de una clave del diccionario invocando el nombre del diccionario y entre [] la clave, como se hace en la línea 6.



Nota. Ver que en la línea 6, se ingresa un srt, por lo tanto los datos cargados serán:

{
    "nombre": "Juan",
    "edad": "21",
    "dni": "11111111"
}

Ejemplo 3.

Veamos otra manera de recorrer el diccionario, usando indices para recorrer la lista



Podemos ver en este ejemplo que accedemos a los elementos de la lista usando índices:


Aquí, i toma valores de un rango de enteros...0,1,2.. y datos[i] es un diccionario.
Al igual que antes para hacer referencia a cada clave uso  j:


Donde j toma los valores de las claves de cada diccionario.

 

Ejemplo 4.

Vamos a escribir un código que permita cargar nombre y nota de varios alumnos, en donde el nombre y la nota serán parte de un diccionario. La lista tendrá muchos diccionarios, donde cada elemento de la lista es un diccionario.
Veamos el código.





La salida de este script sería:
Si intentamos listar y no cargamos nada:
 
Si ingresamos una opción de menú no válida:
 
Si ingresamos una nota no válida:
 
Sin ingresamos un texto en el lugar de la nota:
 
Y finalmente si listamos luego de cargar varios registros: