Curso de Python

Aprende PYTHON de una buena vez

Cabecera principal de presentación del curso de Inicia en la programación en Python. Aprende a programar en Python desde cero
gratis
texto + video

Diccionarios (listas asociativas) en Python. Uso y creación de diccionarios en Python

Los diccionarios en Python forman parte de lo que se conoce como estructuras de datos que nos ofrece Python. Cabe resaltar que, si has programado en otros lenguajes, los diccionarios no son más que listas asociativas o listas con llaves, donde cada llave es un identificador único de una posición de la lista. Básicamente, en lugar de usar números de 0 a N, se usan llaves que pueden ser strings generalmente.

En general, la lógica es la misma que se maneja en las listas y su propósito es el mismo. Sin embargo, los diccionarios en Python nos permiten organizar e identificar de manera única las posiciones de la lista, usando lo que se conoce como llaves.

Ejemplo de diccionarios en Python

Imaginemos que queremos crear un programa con el cual podamos de algún modo almacenar los nombres e identificaciones de diferentes personas. De hecho, una vez más, este mismo ejemplo lo vimos en los artículos anteriores. Pero esta vez, lo vamos a resolver usando diccionarios, lo cual nos permitirá crear una solución más fácil de entender y leer. Analicemos el problema y aprendamos a usar diccionarios en Python:

Usando diccionarios en Python:

Los diccionarios o listas asociativas, nos permitirán crear una lista indicando nombres únicos y fáciles de recordar y asociar en nuestro código. Un diccionario puede almacenar múltiples elementos en su interior, lo cual incluye otros diccionarios o listas o datos primitivos.

Muy bien, ahora que sabemos la gran utilidad de los diccionarios, aprendamos más acerca de ellos, veamos cómo crear un diccionario, cómo recorrerlos y algunos ejemplos de esto.

¿Cómo crear un diccionario en Python?

Para declarar un diccionario en Python, se deben seguir las mismas normas básicas que se siguen para declarar una lista, PERO en lugar de usar corchetes "[]" usaremos llaves "{}" para declararlos:

nombre_del_diccionario = {} otro_diccionario = { "nombre": "Alberto", "usuario": "alb_123", }

Una vez el diccionario es creado, podemos agregarle elementos, quitarlos, obtenerlos, y varias cosas más, tal como hacemos con las listas (usando los mismos métodos).

Ya tenemos claro cómo declarar un diccionario en Python. Sin embargo, aún no sabemos cómo obtener los elementos de ese diccionario, es decir, una vez dicho diccionario tiene los elementos que queremos, cómo podemos obtener esa información y más aún, cómo obtener un elemento específico dentro de ese diccionario. Veámoslo:

Obtener el valor de un elemento de un diccionario en Python

Es muy común el caso en el que tenemos un diccionario con una enorme cantidad de elementos, sin embargo, de todos esos elementos solo nos interesa uno en especial y corremos con la suerte de saber cuál es su valor o mejor aún su llave específica dentro del diccionario.

mi_diccionario = { "nombre": "Juan", "usuario": "jn123", } # Muestra Juan print(mi_diccionario["nombre"]) # Muestra jn123 print(mi_diccionario["usuario"])

En esencia, la manera de acceder es la misma que se usaba en las listas, es decir, usando corchetes "[]". Sin embargo, ahora en lugar de indicar un índice numérico, indicas la llave del diccionario.

Ya tenemos entonces una forma de acceder a un elemento de un diccionario en Python, vamos a ver ahora cómo obtener todos los elementos de un diccionario, recorriendo uno a uno:

Recorrer un diccionario en Python

En este caso, los ciclos vienen de gran ayuda. El caso general, sería hacerlo por medio de un ciclo for que vaya accediendo uno por uno a los elementos o incluso aumentando de uno en uno el índice que queremos acceder del diccionario, tanto para la fila como para la columna.

mi_diccionario = { "nombre": "Juan", "edad": "23", "usuario": "jn23", } # Recorriendo los elementos for llave in mi_diccionario: print(llave, ": ", mi_diccionario[llave], sep='')

Como puedes ver, con el ciclo for puede recorrer una por una las llaves del diccionario y luego usar esa llave para mostrar el valor asignado a la misma dentro del diccionario.

Veamos ahora cómo resolver el problema que planteamos al comienzo, usando diccionarios en Python.

Ejemplo de diccionarios en Python

El problema es simple, queremos crear un programa con el cual podamos guardar los nombres y las identificaciones de múltiples personas (no sabemos cuántas) sin perder ninguna de ellas. El usuario es el encargado de suministrar la información de cada persona. Vamos a suponer que el usuario solo podrá ingresar un máximo de tres personas, para así poder comprobar fácilmente nuestro programa. Sin embargo, puedes hacerlo sin límite si prefieres:

# Creamos el diccionario con listas vacías en su interior usuarios = { "nombres": [], "identificaciones": [] } # Definimos un tamaño para las listas del diccionario # Lo puedes cambiar si quieres tamaño = 3 # Leemos los datos y los agregamos a el diccionario for i in range(tamaño): print("Ingrese los datos de la persona", i + 1) nombre = input("Nombre: ") identificación = input("Identificación: ") # La primera lista es para los nombres usuarios["nombres"].append(nombre) # La segunda lista es para las identificaciones usuarios["identificaciones"].append(identificación) # Ahora mostremos los valores en el diccionario for i in range(tamaño): print("Mostrando los datos de la persona", i + 1) print("Nombre:", usuarios["nombres"][i]) print("Identificación:", usuarios["identificaciones"][i])

Como puedes ver, en esencia, es la misma funcionalidad que hicimos en los artículos anteriores. Sin embargo, ahora es más legible el código, puesto que usamos llaves como "nombres" e "identificaciones" en lugar de solo posiciones numéricas como 0 y 1.

Estoy seguro de que a estas alturas comprendes bien qué hace cada una de estas líneas. En caso de que no comprendas nada de esto, dale una mirada de nuevo al artículo sobre listas, la sección de ciclos o la sección de salida de datos o incluso entrada de datos.

Nota: Si algo no es muy claro, detectas algún error, tienes alguna sugerencia o simplemente tienes algo que comentarme, puedes hacerlo con total tranquilidad en la sección de comentarios.

Ahora que ya conocemos todo bien acerca de los diccionarios en Python (listas asociativas en otros lenguajes de programación), podremos leernos en el siguiente contenido.

La última actualización de este artículo fue hace 4 años

Foto de JuanDMeGon

Juan David Meza González

JuanDMeGon

Magister, Ingeniero, Desarrollador
Web & Instructor

¡Listo!

En breve recibirás un mensaje de confirmación. Verifica, por si acaso, la carpeta de correo no deseado.

...

Si te parece bien, te enviaré de vez en cuando, mensajes de interés sobre los temas que se tratan en el sitio.

Tu dirección de correo electrónico será almacenada con un interés según el artículo en el que te encuentres.

Por supuesto, puedes cancelar tu suscripción en cualquier momento.