(Creado por el analista de sistemas y docente Leonel Iván Saafigueroa)
DICCIONARIOS
Uso y métodos esenciales.

Los diccionarios en Python son estructuras de datos que almacenan información en pares clave-valor. Imaginá una agenda telefónica: cada nombre (clave) tiene asociado un número de teléfono (valor). A diferencia de las listas, que acceden a los elementos por su posición (índice numérico), los diccionarios utilizan claves únicas para acceder a sus valores. Las claves pueden ser de varios tipos inmutables (cadenas, números, tuplas), mientras que los valores pueden ser de cualquier tipo.

Ejemplo de Diccionario
Declaración:
Se declaran usando llaves {} y se separan las claves y valores con dos puntos : .
mi_diccionario = {
"nombre": "Juan", # Clave: "nombre", Valor: "Juan"
"edad": 30, # Clave: "edad", Valor: 30
"ciudad": "Buenos Aires" # Clave: "ciudad", Valor: "Buenos Aires"
}
Acceso a los valores:
Se accede a un valor usando su clave entre corchetes [].
Código:
mi_diccionario = {
"nombre": "Juan",
"edad": 30,
"ciudad": "Buenos Aires"
}
print(mi_diccionario["nombre"])
print(mi_diccionario["edad"])
print(mi_diccionario["ciudad"])
Salida por pantalla:
Juan 30 Buenos Aires
Uso del método get()
Si intentas acceder a una clave que no existe, obtendrás un error KeyError.
Es mejor usar el método get() para manejar este caso.
Si la clave no existe devuelve un valor por defecto, en este caso pais devuelve 0.
Código:
mi_diccionario = {
"nombre": "Juan",
"edad": 30,
"ciudad": "Buenos Aires"
}
print(mi_diccionario.get("nombre", 0))
print(mi_diccionario.get("edad", 0))
print(mi_diccionario.get("ciudad", 0))
print(mi_diccionario.get("pais", 0))
Salida por pantalla:
Juan 30 Buenos Aires 0
Agregar y actualizar elementos
Python permite agregar o actualizar los datos almacenados en un diccionario. Con la sintaxis del ejemplo, se modifica el valor asociado a una clave existente, o se crea una clave si no existe previamente.
Código:
mi_diccionario = {
"nombre": "Juan",
"edad": 30,
"ciudad": "Buenos Aires"
}
# Agrega la clave "pais" con valor "España"
mi_diccionario["pais"] = "Argentina"
# Modifica el valor de la clave "edad"
mi_diccionario["edad"] = 31
print(mi_diccionario)
Salida por pantalla:
{'nombre': 'Juan', 'edad': 31, 'ciudad': 'Buenos Aires', 'pais': 'Argentina'}
Eliminar elementos
Se pueden eliminar elementos usando del.
Código:
mi_diccionario = {
"nombre": "Juan",
"edad": 30,
"ciudad": "Buenos Aires"
}
del mi_diccionario["ciudad"]
print(mi_diccionario)
Salida por pantalla:
{'nombre': 'Juan', 'edad': 30}
pop() nos permite eliminar un elemento específico del diccionario.
Al usarlo, además de eliminar el elemento, podemos capturar el valor eliminado.
Código:
productos = {
"Manzanas": 50,
"Peras": 30,
"Bananas": 40
}
cantidad_bananas = productos.pop("Bananas", "No hay bananas")
print("Cantidad de bananas eliminada:", cantidad_bananas)
print(productos)
Salida por pantalla:
Cantidad de bananas eliminada: 40
{'Manzanas': 50, 'Peras': 30}
Recorrer un diccionario
Hay varias maneras de recorrer un diccionario en Python, dependiendo de qué parte del diccionario queremos acceder (claves, valores o ambos). Aquí vemos ejemplos de cada caso.
Ejemplo con .items()
(recorriendo claves y valores)
Código:
mi_diccionario = {"nombre": "Ana", "edad": 30, "ciudad": "Bogotá"}
for clave, valor in mi_diccionario.items():
print(f"Clave: {clave}, Valor: {valor}")
Salida por pantalla:
Clave: nombre, Valor: Ana Clave: edad, Valor: 30 Clave: ciudad, Valor: Bogotá
Ejemplo con .keys()
(recorriendo claves)
Código:
mi_diccionario = {"nombre": "Ana", "edad": 30, "ciudad": "Bogotá"}
for clave in mi_diccionario.keys():
print(f"Clave: {clave}")
Salida por pantalla:
Clave: nombre Clave: edad Clave: ciudad
Ejemplo con .values()
(recorriendo los valores)
Código:
mi_diccionario = {"nombre": "Ana", "edad": 30, "ciudad": "Bogotá"}
for valor in mi_diccionario.values():
print(f"Valor: {valor}")
Salida por pantalla:
Valor: Ana Valor: 30 Valor: Bogotá
Borrar un diccionario completo
Usando el método clear()
Este método elimina todos los elementos del diccionario, dejándolo vacío pero sin eliminarlo de la memoria.
El diccionario sigue existiendo, simplemente ya no contiene pares clave-valor.
Código:
mi_diccionario = {"nombre": "Ana", "edad": 30, "ciudad": "Bogotá"}
print(f"Diccionario antes de clear(): {mi_diccionario}")
mi_diccionario.clear()
print(f"Diccionario después de clear(): {mi_diccionario}")
Salida por pantalla:
Diccionario antes de clear(): {'nombre': 'Ana', 'edad': 30, 'ciudad': 'Bogotá'}
Diccionario después de clear(): {}
Usando la asignación a “None” o a un nuevo diccionario vacío
Esto sobrescribe la referencia al diccionario, eliminando la variable del espacio de nombres.
Si existen otras referencias al mismo diccionario en otra parte del código, estas referencias aún apuntarán al diccionario, pero la variable original ya no lo hará.
Código:
mi_diccionario = {"nombre": "Ana", "edad": 30, "ciudad": "Bogotá"}
print(f"Diccionario antes de asignación: {mi_diccionario}")
mi_diccionario = None # o mi_diccionario = {}
print(f"Diccionario después de asignación: {mi_diccionario}")
Salida por pantalla:
Diccionario antes de asignación: {'nombre': 'Ana', 'edad': 30, 'ciudad': 'Bogotá'}
Diccionario después de asignación: None
TAREA PARA EL HOGAR
Crea un programa en Python que gestione el inventario de productos usando diccionarios. El programa debe:
Capturar datos: Solicitar al usuario el nombre y precio de tres productos. Validar datos (nombre no vacío, precio numérico positivo). Almacenar la información en un diccionario donde la clave es el nombre del producto y el valor es un diccionario con “precio” y “stock” (inicializado en 0).
Mostrar inventario: Presentar en pantalla un reporte del inventario actual, mostrando nombre, precio y stock de cada producto.
Consultar stock: Permitir al usuario consultar el stock de un producto. Mostrar precio y stock si existe, o un mensaje de “Producto no encontrado” si no.
Modificar datos: Permitir al usuario modificar el precio o el stock de un producto existente. Validar que el producto exista y que los nuevos datos sean válidos (precio numérico positivo, stock numérico no negativo).