Voy a ver otro contenedor que puedo utilizar que me abrirá un mundo de posibilidades. Se trata de el contenedor más útil: el diccionario.
Python los llama «dicts». Otros lenguajes los llaman «hashes». Lo que impota es lo que hacen cuando se comparan con las listas. Una lista puede hacer cosas como las siguientes:
Podemos usar los números para indicar el número de una lista, lo que significa que podemos usar números para encontrar lo que hay en ella (ver ejercicio 34).
Lo que hace un diccionario es permitirme usar cualquier cosa, no sólo números. Un diccionario asocia una cosa a otra, sin importar lo que sea. Ejemplo:
En lugar de usar sólo números, estoy usando cadenas para decir que elementos quiero. También puedo añadir elementos nuevos al diccionario usando las cadenas de texto, los nombres.
También puedo hacer lo siguiente:
Vaya. ¡No me deja!
Mmmmmm. Es que he cerrado Python, y debería de haber continuado desde la pantalla anterior…
Ahora si. En éste código he usado números y luego puedo ver que hay números y cadenas como claves en el diccionario cuando lo muestro en la pantalla.
Por supuesto, un diccionario en el que sólo se pueden poner cosas es muy aburrido. Se borra con la palabra clave del de la siguiente forma:
Bien. Ahora escribo un programa interesante.
…
Me da el siguiente error en la línea 3.
He cambiado cosas (he puesto lo del código ASCII en la línea 1) y no doy con la tecla.
El error está ahora en la línea 4. 😦
No lo puedo ejecutar todavía. Jur. Dejo el resto del código aquí, aunque como todavía no lo he ejecutado, no se si tiene errores o no.
Corrijo cosas básicas que estaban mal desde el ppio. Los diccionarios usan LLAVES, NO CORCHETES.
La línea 20 y 21 las cambio también, no estaban bien planteadas. Igual hay otra forma más parecida a lo que había en el anterior programa, pero yo he tirado de lo conocido (arriba).
Al ejecutar, voy depurando y me va saliendo lo siguiente, hasta el siguiente atasco:
Error en la línea 25. Cambio a llaves, pero me sale lo mismo. Me temo que es la estructura, aunque me diga invalid syntax. ¿Está mal planteado? Lo que sigue a continuación también estará mal…porque es lo mismo… 😛
Bien. Ya he salido del bache. Dando vueltas y con nuestro método favorito: pueba-error mientras sigo observando. Love it. Éste es el programa corregido

Que ejecutando resulta:
Nice. 🙂
PREGUNTAS
P: ¿Qué diferencia hay entre una lista y un diccionario?
R: Una lista es una lista ordenada de elementos. Un diccionario (o dict) es para crear una relación entre unos elementos (llamados «clave») y otros (llamados «valores»).
P: ¿Para qué debería de usar un diccionario?
R: Úsalo siempre que tengas que tomar un valor «consultando» otro valor. De hecho, podrían llamarse «tablas de consulta».
P: ¿Para qué debería de usar una lista?
R: Una lista es para cualquier secuencia de cosas que necesitan estar ordenadas y sólo necesitas consultarlas por un índice numérico.
P: ¿Y si necesito un diccionario, pero necesito que esté ordenado?
R: Echa un vistazo a la siguiente estructura de datos de Python: collections.OrderedDict. Búscalo en internet y lee documentación sobre ésto.
Por curiosidad, también lo miro en pydoc y me sale ésto:




























Debe estar conectado para enviar un comentario.