Diccionarios Python: Guía + Ejercicios 2024

diccionarios python

¡Bienvenidos al completo guía sobre los diccionarios Python! Ya sea que recién estés empezando con Python o que ya tengas experiencia con el lenguaje, los diccionarios son una herramienta esencial que debes dominar. Los diccionarios son una estructura de datos versátil y poderosa en Python que te permite almacenar y organizar datos de manera eficiente.

En esta guía, exploraremos todo lo que necesitas saber sobre los diccionarios de Python: Primero, entederás qué es un diccionario en programación y Python, después veremos cómo funcionan los diccionarios; en detalle, veremos las siguientes operaciones imprescindibles para manejarlas: añadir elementos en diccionarios, eliminar un elemento en el diccionario, actualizar la información en un diccionario, comprobar si existe valor en Python y mucho más.

En un segundo bloque, veremos las funciones o métodos más comunes de los diccionarios en Python y veremos cuando son útiles los diccionarios en Programación. Por último, se propondrán bastantes ejercicios para practicar los diccionarios.

💡Los diccionarios te ayudarán a manejarte con JSON y con Bases de Datos noSQL también.

Conocerás los diferentes métodos disponibles para trabajar con diccionarios, como ordenarlos, invertirlos y combinarlos. También descubrirás cómo utilizar diccionarios dentro de estructuras de control como bucles for y condicionales if, lo que te permitirá aprovechar al máximo su potencial.

No importa si estás programando para análisis de datos, desarrollo web o cualquier otro proyecto, los diccionarios de Python serán una herramienta imprescindible en tu arsenal. Prepárate para dominarlos con esta guía completa. ¡Comencemos!

Qué es un diccionario en programación y Python

Los diccionarios son una estructura de datos en Python que te permite almacenar pares de clave-valor. Cada elemento en un diccionario está compuesto por una clave única y su respectivo valor asociado. La clave puede ser de cualquier tipo inmutable, como una cadena de texto o un número, mientras que el valor puede ser cualquier objeto válido en Python.

Los diccionarios en Python se definen utilizando llaves `{ }` y los pares clave-valor se separan por dos puntos `:`. Por ejemplo:

Ejemplo de diccionario en Python

Debajo se explone como se crea un diccionario con datos a modo ejemplo. Se acompaña con un dibujo para que se entienda mejor la estructura que se genera:

mi_diccionario = { "nombre" : "Juan", "curso" : "sql", "nota" : 7.2 }

diccionarios python
Diccionarios Python: Esquema visual

La utilidad radica en que después se puede preguntar por el nombre, el curso y la evaluación o nota obtenida rápidamente.

Cómo funcionan los diccionarios en Python

Los diccionarios en Python se implementan internamente utilizando una estructura de datos llamada tabla hash. Esta estructura permite una búsqueda rápida y eficiente de elementos en el diccionario, incluso para un gran número de elementos.

programando en python

Cuando se agrega un nuevo par clave-valor a un diccionario, Python calcula un valor hash único para la clave proporcionada. Este valor se utiliza para determinar la posición donde se debe almacenar el par clave-valor en la tabla hash. Cuando se busca un elemento en el diccionario, Python calcula el valor hash de la clave de búsqueda y busca en la tabla hash la posición correspondiente.

💡El Hash es un valor único, por eso, al igual que un diccionario tradicional si no hay palabra (clave) Python indica rápido que no habrá definición (valor).

Operaciones Básicas en Diccionarios

Los diccionarios en Python admiten una variedad de operaciones básicas que te permiten manipular y trabajar con los elementos contenidos en ellos. Algunas de estas operaciones incluyen agregar elementos, eliminar elementos, actualizar valores y comprobar si una clave está presente en el diccionario.

como aprender Python

Añadir elemento en diccionario

Para agregar un nuevo par clave-valor a un diccionario, puedes utilizar la siguiente sintaxis:

mi_diccionario["nueva_clave"] = nuevo_valor

Como eliminar diccionarios en Python

Para eliminar un elemento del diccionario, puedes utilizar la palabra clave `del` seguida de la clave que deseas eliminar:

del mi_diccionario["clave_a_eliminar"]

Actualizar valores en diccionario

Para actualizar el valor de un elemento existente en el diccionario, simplemente asigna un nuevo valor a la clave correspondiente:

mi_diccionario["clave_existente"] = nuevo_valor

Comprobar si existe valor en diccionario en Python

Para verificar si una clave está presente en el diccionario, puedes utilizar el operador `in`:

if "clave" in mi_diccionario:

# hacer algo si la clave está presente

Funciones comunes en Python para diccionarios

get() para obtener el valor

El método get() en Python se utiliza para acceder al valor asociado a una clave en un diccionario de manera segura, es decir, sin generar errores si la clave no existe en el diccionario. Además, este método permite especificar un valor por defecto que se devolverá en caso de que la clave no se encuentre en el diccionario. Aquí tienes un ejemplo para entenderlo mejor:

Supongamos que tenemos un diccionario que almacena información sobre personas y sus edades:

edades = { "Juan": 30, "María": 25, "Carlos": 35 }

ejemplos diccionarios python
Ejemplo de diccionario Python

Ahora, queremos obtener la edad de una persona específica, digamos «Ana», pero no estamos seguros de si «Ana» está en el diccionario. Usar get() nos permite hacerlo de manera segura:

nombre = "Ana" edad = edades.get(nombre)

if edad is not None:

print(nombre, "tiene", edad, "años.")

else:

print(nombre, "no está en el diccionario de edades.")

Luego, verificamos si edad es None para determinar si «Ana» está en el diccionario o no. Si edad no es None, imprimimos su edad. Si edad es None, imprimimos un mensaje que indica que «Ana» no está en el diccionario.

Este enfoque es útil para evitar errores de tipo KeyError que ocurrirían si intentáramos acceder directamente a una clave que no existe en el diccionario sin usar get(). Con get(), podemos proporcionar un valor por defecto o manejar de manera adecuada la ausencia de la clave en el diccionario.

Tamaño del diccionario: len()

Siguiendo con el ejemplo anterior, podríamos utilizar la variable edad de antes y evaluar el número de elementos de la siguiente manera:

print( len(edad) )

len() es una función útil para determinar rápidamente el tamaño de un diccionario, lo que puede ser especialmente útil cuando necesitas realizar operaciones que dependen del número de elementos en el diccionario, como bucles o validaciones.

💡Aplicando la función type( ) a un diccionario Python nos dirá que es de tipo dict.

Diccionarios en Python: Métodos más usados

Los diccionarios son estructuras de datos que se utilizan en programación para almacenar pares clave-valor, donde cada clave está asociada a un valor. Los métodos más comunes de los diccionarios en lenguajes de programación como Python son los siguientes:

Resumen de funciones diccionarios Python con ejemplos

* Puedes hacer scroll horizontal con el dedo para ver todos los datos de la tabla

Métodos de diccionarios en Python más comunes
MétodoDescripciónEjemplo
dict.keys()Devuelve una lista de las claves del diccionariopython diccionario = {"nombre": "Juan", "edad": 30}
claves = diccionario.keys()
dict.values()Devuelve una lista de los valores del diccionariopython diccionario = {"nombre": "Juan", "edad": 30}
valores = diccionario.values()
dict.items()Recibeuna lista de tuplas (clave, valor)python diccionario = {"nombre": "Juan", "edad": 30}
items = diccionario.items()
dict.get(key)Devuelve el valor asociado a una clave o un valor por defecto si la clave no existepython diccionario = {"nombre": "Juan", "edad": 30}
nombre = diccionario.get("nombre")
edad = diccionario.get("edad", 0)
dict.pop(key)Elimina una clave y su valor del diccionario y devuelve el valor eliminadopython diccionario = {"nombre": "Juan", "edad": 30}
valor_eliminado = diccionario.pop("nombre")
dict.update(other_dict)Actualiza el diccionario con pares clave-valor de otro diccionariopython diccionario = {"nombre": "Juan", "edad": 30}
otro_diccionario = {"ciudad": "Madrid"} diccionario.update(otro_diccionario)
len(dict)Devuelve la cantidad de elementos en el diccionariopython diccionario = {"nombre": "Juan", "edad": 30}
cantidad_elementos = len(diccionario)

En resumen, estos son algunos de los métodos más comunes en los diccionarios en Python, pero hay muchos más disponibles para realizar diferentes operaciones y manipulaciones de datos en diccionarios. Estos métodos son útiles para acceder, modificar y trabajar con la información almacenada en diccionarios de manera eficiente.

Ejemplos de uso de diccionarios en programación

Estudiar Big Data desde Cero. Hadoop. Spark. Python. SQL. Qué es ETL. IA.

A continuación, te expongo tres casos interesantes para utilizar los diccionarios.

  • Imagina tu videojuego favorito: El League Of Legends cada vez que actualiza las estadísticas de sus campeones, entre otros elementos, se descargan nuevos valores de estadísticas (campeones.json)
  • Por otro lado, cuando trabajamos en Business Intelligence y realizamos cuadros de mandos, conectamos en una Base de Datos. Muchas veces, con Python convertimos las preguntas en diccionarios para, por ejemplo, obtener una lista de alumnos con puntuaciones de una base de datos gigante.
  • Llamadas a APIs externas (ejemplo de proyecto de análisis de sentimiento en Twitter) para proyectos Big Data o relativas a Inteligencia Artificial

Ejercicios para practicar diccionarios

Ejercicio 1

Pide al usuario que impute una lista de alumnos, separadas con ;. Después, pregunta por las notas de ellas. Realizar diccionario para después poder preguntar por alguien y observar sus notas.

Ejercicio 2

Utiliza el ejercicio de el sistema a turnos de los ejercicios de Bucles For y While. Modifícalo para que las estadísticas de cada jugador sean una estructura de diccionario. Después, juega a tu antojo y modifica el cambio de estadísticas como si fueras un diseñador de videojuegos.

Ejercicio 3

Piensa que quieres usar un diccionario para organizarte. Diseña una agenda donde quieres anotar las tareas. Para ello, pedirás al usuario lo siguiente: 'Dime el día de la semana...' Usuario: lunes. 'Tienes 0 tareas pendientes. ¿Qué anotamos?'. Si hubiera alguna tarea, se mostraría cada elemento. Como ves, la clave será el día y el valor una lista.

Ejercicio 4

Imagina partir de una super lista de notas en formato texto, algo parecido a esto: ‘7.8,6,4.5,9.8#Ana;;2.3,3.4,4.5,2.1#Miguel;;‘. ¿Serías capaz de extraer el patrón para construir un diccionario donde la clave son los alumnos y el valor la puntuación promedio?

Ejercicio 5

Construye un sistema escolar entero para BigBayData.com. Para ello, el diccionario principal contendrá los cursos con la información de precio y nombre. Dentro de estas, existirán nuevos diccionarios para almacenar la siguiente información: ‘profesor, contacto, lista de alumnos totales, evaluación promedio‘.

Artículos relacionados

Preguntas más frecuentes

¿Qué es un diccionario de Python?

Es una estructura de datos. Se usa para preguntar por un valor a partir de una clave, es decir, como en un diccionario tradicional preguntamos por la definición de la palabra y recibimos el valor.

¿Qué es un diccionario y para qué se utiliza?

Es una estructura donde la base es el par clave-valor. Principalmente, este tipo de dato se usa para buscar y organizar la información rápido.

¿Cómo usar un valor de un diccionario en Python?

mi_diccionario.get(valor)

¿Cómo saber si un elemento está en un diccionario Python?

if clave in mi_diccionario:

¿Cuáles son las características del diccionario?

Estructura de datos compuesta de pares clave-valor donde las claves no se pueden repetir. A diferencia de las listas, los diccionarios son para otro tipo de uso.

¿Qué es la estructura de un diccionario?

Es un tipo de dato muy útil y común en programación. Se usa para organizar la información.

¡Haz clic para puntuar esta entrada!
(Votos: 9 Promedio: 5)
Escrito por:

Ibon Reinoso

Escribo sobre Programación, Big Data e IA + recomiendo productos tecnológicos para hacer que cualquiera aprenda por su cuenta y entre al mundo digital. Actualmente Arquitecto de Soluciones y Data Scientist Senior. Ex Director del Programa Nacional Big Data en España (+2.500 alumnos +20 ciudades). Creador del blog BigBayData.com.

Ver todas las entradas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *