Diccionarios Python

Alex Jimenez
Alex Jimenez
Jul 13, 2023


¿Alguna vez has necesitado una forma rápida y ordenada de guardar información que tenga una “etiqueta” o clave? Entonces, los diccionarios en Python pueden ser justo lo que estabas buscando. En este artículo vamos a sumergirnos en esta estructura de datos tan poderosa y versátil. Prepárate para entender cómo funcionan, cuándo usarlos, y por qué se han convertido en uno de los pilares fundamentales del lenguaje Python.

¿Qué es un diccionario en Python?

En pocas palabras, un diccionario es una colección de pares clave-valor. Imagina una agenda telefónica: el nombre de la persona sería la clave, y el número su valor asociado. Así funcionan los diccionarios. En vez de buscar por posición como en una lista, aquí accedes directamente por la clave.

Por ejemplo:

mi_diccionario = {"nombre": "Juan", "edad": 25, "ciudad": "Madrid"}

En este caso, "nombre", "edad" y "ciudad" son las claves, y "Juan", 25, y "Madrid" son los valores respectivos. Esta estructura permite organizar datos de forma clara y eficiente.

¿Y por qué no una lista o tupla? Porque los diccionarios te permiten usar cualquier clave única (no solo números) para acceder a los valores. Esa es una ventaja brutal cuando trabajas con datos complejos.

Diccionarios Python

Cómo crear un diccionario en python

Hay varias formas de crear un diccionario en Python. La más común es usar las llaves {}. También puedes usar la función dict() si prefieres un enfoque más “funcional”.

Aquí van algunos ejemplos:

Diccionario vacío
vacío = {}

Con datos iniciales
persona = {"nombre": "Ana", "edad": 30}

Usando dict()
otro = dict(nombre="Carlos", edad=28)

Fácil, ¿verdad? Y lo mejor es que puedes añadir, modificar o eliminar elementos en cualquier momento. ¡Flexibilidad total!

A veces solo necesitamos ver algunos ejemplos prácticos. Estas aplicacciones python te mostrarán lo que puedes lograr con unas cuantas líneas de código.

Operaciones comunes con diccionarios

Los diccionarios python son mutables, lo que significa que puedes modificarlos después de crearlos. Veamos las operaciones más comunes que puedes realizar:

Acceder a un valor

print(persona["nombre"])  # Devuelve "Ana"

Agregar un nuevo par clave-valor

persona["ciudad"] = "Barcelona"

Modificar un valor existente

persona["edad"] = 31

Eliminar un par clave-valor

del persona["nombre"]

Verificar si una clave existe

"ciudad" in persona  # Devuelve True

Consejo: si accedes a una clave que no existe, Python lanzará un error KeyError. Puedes evitar esto usando .get() o verificando con in.

Obtener todas las claves, valores o pares

persona.keys()    # dict_keys(['edad', 'ciudad'])
persona.values()  # dict_values([31, 'Barcelona'])
persona.items()   # dict_items([('edad', 31), ('ciudad', 'Barcelona')])

Descubre si pycharm es la herramienta ideal para tus proyectos de Python.

Casos de uso prácticos

¿Para qué sirve realmente un diccionario? Aquí van algunos ejemplos del mundo real:

1. Almacenar información de usuarios

usuario = {
    "username": "usuario123",
    "email": "[email protected]",
    "activo": True
}

2. Contar palabras en un texto

texto = "python es divertido y python es poderoso"
frecuencia = {}

for palabra in texto.split():
    if palabra in frecuencia:
        frecuencia[palabra] += 1
    else:
        frecuencia[palabra] = 1

print(frecuencia)

3. Representar grafos

grafo = {
    "A": ["B", "C"],
    "B": ["A", "D"],
    "C": ["A", "D"],
    "D": ["B", "C"]
}

¿Sabías que muchos frameworks de análisis de redes, como NetworkX, usan diccionarios anidados para representar grafos complejos?

Métodos útiles de diccionarios

Python incluye varios métodos integrados que te facilitan la vida cuando trabajas con diccionarios:

  • .get(clave, valor_por_defecto) – evita errores si la clave no existe.
  • .pop(clave) – elimina y devuelve el valor asociado.
  • .update(otro_diccionario) – actualiza un diccionario con los pares de otro.
  • .clear() – elimina todos los elementos del diccionario.

Consideraciones importantes

  • Las claves deben ser únicas y de tipo inmutable, como int, str, tuple.
  • Los valores pueden ser de cualquier tipo, incluso listas o diccionarios.
  • Si usas una clave repetida al definir un diccionario, el último valor sobrescribirá al anterior.

¿Quieres profundizar en cómo funcionan las estructuras de datos en Python? Este artículo también te puede interesar: Cuatro estructuras de datos integradas en Python

Bonus: diccionarios anidados

Sí, también puedes tener diccionarios dentro de diccionarios. Ideal para representar estructuras más complejas:

empleado = {
    "nombre": "Luis",
    "departamento": {
        "nombre": "Marketing",
        "ubicación": "Edificio 2"
    }
}

Acceder a datos anidados es tan sencillo como encadenar las claves:

print(empleado["departamento"]["ubicación"])  # Devuelve "Edificio 2"

Conclusión

Los diccionarios son una de esas herramientas que, una vez que las dominas, no puedes dejar de usar. Te permiten organizar tus datos como quieras, acceder a ellos fácilmente, y escribir código más limpio y legible.

Conocer y dominar los diccionarios te abre muchas puertas, especialmente si estás empezando en el mundo del desarrollo con Python. ¿Por qué no comienzas a usarlos hoy mismo?

Si además estás aprendiendo sobre estructuras como listas o tuplas, este recurso te puede ser muy útil: Listas en Python

Preguntas frecuentes

¿Se pueden usar listas como claves en un diccionario?

No, porque las listas son mutables. Las claves deben ser inmutables, como strings, números o tuplas.

¿Qué pasa si uso la misma clave dos veces?

La última asignación sobrescribirá el valor anterior. No puedes tener claves duplicadas.

¿Cómo puedo copiar un diccionario?

Puedes usar el método .copy() o la función dict():

nuevo = dict(empleado)

¿Listo para llevar tus habilidades al siguiente nivel? Entonces sigue explorando el mundo de Python con artículos como Aprende funciones en Python y descubre cómo estas estructuras se combinan para crear aplicaciones reales y robustas.

Sigue aprendiendo con estos artículos relacionados:

Enlaces relacionados que te pueden interesar:

📖
Como usar clases en Python
📖
El Rol De Un Programador En Python
📖
Junit Herramienta Clave En Pruebas Unitarias
📖
Modelado Orientado A Objetos Clave En El Desarrollo De Software
📖
El Legado De Los Programadores Famosos En Python