¡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 }
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.
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.
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 }
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 comunesMétodo | Descripción | Ejemplo |
---|
dict.keys() | Devuelve una lista de las claves del diccionario | python diccionario = {"nombre": "Juan", "edad": 30}
claves = diccionario.keys() |
dict.values() | Devuelve una lista de los valores del diccionario | python 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 existe | python 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 eliminado | python diccionario = {"nombre": "Juan", "edad": 30}
valor_eliminado = diccionario.pop("nombre") |
dict.update(other_dict) | Actualiza el diccionario con pares clave-valor de otro diccionario | python diccionario = {"nombre": "Juan", "edad": 30}
otro_diccionario = {"ciudad": "Madrid"} diccionario.update(otro_diccionario) |
len(dict) | Devuelve la cantidad de elementos en el diccionario | python 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
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
‘.
🛑 ¡Espera! ¿Te interesa lo que lees?
Suscríbete a la Newsletter y no te pierdas las novedades de manera completamente gratuita. Serás el primero en recibir las novedades y artículos sobre… :
- Conceptos clave sobre Programación, Bases de Datos, Inteligencia Artificial, Big Data…
- Librerías y frameworks avanzados: Spark, Hadoop, Pandas, IDEs y trucos…
- Mejores recomendaciones tecnológicas
- Atajos prácticos para aprender sobre lenguajes SQL ó Python con proyectos aplicados
- CheatSheets, Libros y Cursos
📰 Suscribirse a Newsletter
Si necesitas una sesión privada, puedes contactar conmigo desde el apartado de Contacto también 😉
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!