Un diccionario (dict) es una colección de pares clave → valor.
- Las claves son únicas
- Son mutables
- Permiten acceso rápido por clave
- Desde Python 3.7 mantienen el orden de inserción
Un diccionario es como una base de datos en miniatura.
Crear un diccionario
mi_diccionario = {
"nombre": "Juan",
"edad": 25,
"ciudad": "Madrid"
}
También se puede crear así:
mi_diccionario = dict(nombre="Juan", edad=25)
Diccionario vacío
diccionario_vacio = {}
Características importantes
- Las claves deben ser inmutables (str, int, tuple…)
- No pueden existir claves duplicadas
- El acceso es muy rápido (O(1))
Esto es inválido:
mi_dic = {[1,2,3]: "error"} # Las listas no pueden ser clave
Acceso a elementos
Acceso directo
nombre = mi_diccionario["nombre"]
Si la clave no existe → error.
Usar get()
profesion = mi_diccionario.get("profesion", "No especificada")
Evita errores si la clave no existe.
Modificar o agregar elementos
mi_diccionario["edad"] = 26
mi_diccionario["profesion"] = "Ingeniero"
Si la clave existe → modifica.
Si no existe → crea.
Eliminar elementos
pop()
edad = mi_diccionario.pop("edad")
del
del mi_diccionario["ciudad"]
popitem()
Elimina el último elemento añadido.
ultimo = mi_diccionario.popitem()
clear()
mi_diccionario.clear()
Consultar claves, valores y pares
claves = mi_diccionario.keys()
valores = mi_diccionario.values()
items = mi_diccionario.items()
Devuelven objetos tipo “vista”.
Verificar si una clave existe
"nombre" in mi_diccionario
Copiar diccionarios
copia = mi_diccionario.copy()
O:
copia = dict(mi_diccionario)
Mezclar diccionarios
update()
otro = {"pais": "España", "edad": 30}
mi_diccionario.update(otro)
Sobrescribe si la clave ya existe.
Operador moderno (Python 3.9+)
nuevo = mi_diccionario | otro
Longitud
len(mi_diccionario)
Iterar sobre diccionarios
Solo claves
for clave in mi_diccionario:
print(clave)
Solo valores
for valor in mi_diccionario.values():
print(valor)
Clave y valor
for clave, valor in mi_diccionario.items():
print(clave, valor)
Diccionarios anidados
usuario = {
"nombre": "Ana",
"direccion": {
"ciudad": "Barcelona",
"codigo_postal": 08001
}
}print(usuario["direccion"]["ciudad"])
Comprensión de diccionarios
cuadrados = {x: x**2 for x in range(5)}
print(cuadrados)
Ejemplo práctico completo
mi_diccionario = {
"nombre": "Ana",
"edad": 28,
"ciudad": "Barcelona"
}print(mi_diccionario["nombre"])mi_diccionario["edad"] = 29
mi_diccionario["profesion"] = "Diseñadora"mi_diccionario.pop("ciudad")for clave, valor in mi_diccionario.items():
print(f"{clave}: {valor}")
Tabla resumen de métodos principales
| Método | Qué hace | Ejemplo | Resultado |
|---|---|---|---|
get() | Obtiene valor sin error | d.get("x") | valor o None |
pop() | Elimina y devuelve valor | d.pop("edad") | 29 |
popitem() | Elimina último par | d.popitem() | («clave», valor) |
clear() | Vacía diccionario | d.clear() | {} |
keys() | Devuelve claves | d.keys() | vista de claves |
values() | Devuelve valores | d.values() | vista de valores |
items() | Devuelve pares | d.items() | vista de tuplas |
update() | Mezcla diccionarios | d.update(otro) | dic actualizado |
copy() | Copia superficial | d.copy() | nuevo dict |
Cuándo usar diccionarios
Usa diccionarios cuando:
- Necesites acceso rápido por clave
- Quieras representar datos estructurados
- Trabajes con JSON
- Simules registros o entidades
Errores comunes
- Intentar acceder a clave inexistente sin usar get()
- Usar listas como claves
- Confundir claves con valores










