• Saltar al contenido principal
  • Skip to secondary menu
  • Saltar a la barra lateral principal
  • Saltar al pie de página
  • Inicio
  • Secciones
    • Ciencia de datos
    • Criptografía
    • Herramientas
    • Machine Learning
    • Noticias
    • Opinión
    • Productividad
    • Programación
      • JavaScript
      • Julia
      • Matlab
      • Python
      • R
  • Programación
    • JavaScript
    • Julia
    • Matlab
    • Python
    • R
  • Laboratorio
    • Estadística
      • Calculadora del Tamaño Muestral en Encuestas
      • Calculadora de estadísticos descriptivos
      • Test de normalidad
      • Calculadora de contrastes de hipotesis
      • Calculadora de tamano del efecto
      • Simulador de Regresión Lineal con Ruido
      • Visualizador de PCA
      • Visualizador de Series Temporales
      • Simulador de Regresión Logística
      • Simulador de K-Means
      • Simulador de DBSCAN
      • Detector de la Ley de Benford
    • Probabilidad
      • Calculadora de Probabilidad de Distribuciones
      • Calculadora de Probabilidades de Lotería
      • Simulador del Problema de Monty Hall
      • Simulador de la Estrategia Martingala
    • Finanzas
      • Calculadora de Préstamos e Hipotecas
      • Conversor TIN ↔ TAE
      • Calculadora DCA con ajuste por inflación
      • Simulador FIRE (Financial Independence, Retire Early)
    • Herramientas
      • Formateador / Minificador de JSON
      • Comparador y Formateador de Texto y JSON
      • Formateador y Tester de Expresiones Regulares
      • Inspector de JWT
      • Generador y verificador de hashes
      • Codificador / Decodificador Base64 y URL
      • Conversor de bases numericas
      • Conversor de Timestamp Unix
      • Conversor de colores
      • Generador de UUIDs
    • Juegos
      • Tres en Raya
      • Nim con Q-Learning
    • Más
      • Método D’Hondt
      • Generador de Contraseñas Seguras
  • Noticias
  • Boletín
  • Contacto
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad

Analytics Lane

Ciencia e ingeniería de datos aplicada

  • Ciencia de datos
  • Machine Learning
  • IA Generativa
  • Python
  • Pandas
  • NumPy
  • R
  • Excel

Cómo iterar sobre diccionarios usando bucles for en Python

junio 9, 2025 Por Daniel Rodríguez Deja un comentario
Tiempo de lectura: 4 minutos

Uno de los aspectos más destacables de Python es su facilidad para manejar estructuras de datos complejas de forma intuitiva. Entre ellas, los diccionarios ocupan un lugar fundamental. Debido a que permiten almacenar pares clave-valor de manera eficiente, son ampliamente utilizados en ciencia de datos, desarrollo web, automatización de tareas, inteligencia artificial y prácticamente cualquier aplicación Python.

Sin embargo, muchas personas que están aprendiendo el lenguaje se preguntan: ¿cómo podemos recorrer un diccionario para acceder a sus datos? ¿Cómo iterar para imprimir cada clave y su valor, realizar operaciones condicionales o transformar su contenido?

En esta entrada responderemos precisamente a esa pregunta: cómo iterar sobre diccionarios usando bucles for en Python. Comenzaremos con una breve introducción sobre qué son los diccionarios y por qué son útiles. Luego, exploraremos las diferentes formas de recorrerlos con ejemplos prácticos. Finalmente, ofreceremos algunas consideraciones adicionales y conclusiones que te ayudarán a dominar esta estructura fundamental.

Tabla de contenidos

  • 1 ¿Qué es un diccionario en Python?
    • 1.1 ¿Por qué usar diccionarios?
  • 2 ¿Por qué es importante iterar sobre un diccionario?
  • 3 Iterar sobre las claves
  • 4 Usar .keys() para mayor claridad
  • 5 Iterar sobre los valores con .values()
  • 6 Iterar sobre claves y valores con .items()
  • 7 Diccionarios anidados
  • 8 Comprensiones de diccionarios
  • 9 Consideraciones adicionales
    • 9.1 Orden de los elementos
    • 9.2 No modificar un diccionario mientras lo recorres
  • 10 Conclusiones

¿Qué es un diccionario en Python?

En Python, un diccionario es una colección mutable y, desde Python 3.7, ordenada (es decir, conserva el orden de inserción), que almacena datos en pares clave-valor. La sintaxis básica es:

mi_diccionario = {
    "nombre": "Ana",
    "edad": 30,
    "ciudad": "Madrid"
}

Aquí, "nombre", "edad" y "ciudad" son las claves, mientras que "Ana", 30 y "Madrid" son los valores asociados.

Nuevo simulador FIRE en el laboratorio de aplicaciones de Analytics Lane
En Analytics Lane
Nuevo simulador FIRE en el laboratorio de aplicaciones de Analytics Lane

¿Por qué usar diccionarios?

Los diccionarios son unas estructuras de datos muy útiles cuando necesitas:

  • Acceder rápidamente a un valor mediante una clave.
  • Agrupar información relacionada (por ejemplo, los atributos de una persona).
  • Representar datos de forma estructurada y flexible.

Publicidad


¿Por qué es importante iterar sobre un diccionario?

Supongamos que tienes el siguiente diccionario de estudiantes con sus notas:

notas = {
    "Laura": 8.5,
    "Carlos": 7.0,
    "Lucía": 9.2,
    "Pedro": 4.8
}

¿Cómo podrías recorrer este diccionario para imprimir el nombre del estudiante y su nota? ¿O encontrar al que obtuvo la calificación más alta? Aquí es donde la capacidad de iterar sobre diccionarios se vuelve esencial.

Iterar sobre las claves

La forma más sencilla de iterar sobre un diccionario es recorrer sus claves. Por defecto, al usar un bucle for sobre un diccionario este itera sobre sus claves:

for clave in notas:
    print(clave)

Este código imprimirá los nombres de los estudiantes. Algo como:

Laura
Carlos
Lucía
Pedro

Si deseas acceder también a los valores se puede usar la clave sobre el diccionario:

for clave in notas:
    valor = notas[clave]
    print(f"{clave} tiene una nota de {valor}")

Produce una salida como la siguiente:

Laura tiene una nota de 8.5
Carlos tiene una nota de 7.0
Lucía tiene una nota de 9.2
Pedro tiene una nota de 4.8

Este método es simple y directo, ideal si solo necesitas trabajar con las claves. Sin embargo, puede resultar menos eficiente si también necesitas los valores, ya que requiere un acceso adicional por clave.

Usar .keys() para mayor claridad

El método .keys() devuelve una vista de todas las claves del diccionario. Aunque no es necesario usarlo para iterar, puede mejorar la legibilidad:

for clave in notas.keys():
    print(clave)

Este enfoque tiene el mismo resultado que el anterior, pero hace explícito que estás trabajando con las claves.

Publicidad


Iterar sobre los valores con .values()

Si solo necesitas trabajar con los valores del diccionario:

for nota in notas.values():
    print(nota)
8.5
7.0
9.2
4.8

Este método es útil, por ejemplo, para calcular el promedio de notas:

promedio = sum(notas.values()) / len(notas)
print(f"El promedio de notas es: {promedio:.2f}")
El promedio de notas es: 7.38

Iterar sobre claves y valores con .items()

La forma más eficiente y legible de recorrer un diccionario completo es usando .items(), que devuelve pares (clave, valor):

for nombre, nota in notas.items():
    print(f"{nombre} tiene una nota de {nota}")
Laura tiene una nota de 8.5
Carlos tiene una nota de 7.0
Lucía tiene una nota de 9.2
Pedro tiene una nota de 6.8

Este enfoque es el más recomendado para iterar sobre diccionarios usando bucles for en Python ya que es:

  • Elegante y claro.
  • Más eficiente que acceder al valor usando la clave dentro del bucle.
  • Ideal cuando necesitas trabajar con ambos elementos.

Diccionarios anidados

En ocasiones, los valores de un diccionario pueden ser otros diccionarios. Por ejemplo:

estudiantes = {
    "Laura": {"nota": 8.5, "edad": 20},
    "Carlos": {"nota": 7.0, "edad": 21}
}

Puedes recorrerlos con bucles anidados:

for nombre, info in estudiantes.items():
    print(f"{nombre}:")
    for clave, valor in info.items():
        print(f"  {clave}: {valor}")

La salida será algo como:

Laura:
nota: 8.5
edad: 20
Carlos:
nota: 7.0
edad: 21

Publicidad


Comprensiones de diccionarios

Una forma concisa de construir nuevos diccionarios es mediante comprensiones:

notas_aprobados = {nombre: nota for nombre, nota in notas.items() if nota >= 5.0}
print(notas_aprobados)
{'Laura': 8.5, 'Carlos': 7.0, 'Lucía': 9.2}

Este código genera un nuevo diccionario solo con los estudiantes aprobados.

Consideraciones adicionales

Antes de terminar se pueden ver un par de puntos sobre los diccionarios en Python.

Orden de los elementos

Desde Python 3.7, los diccionarios conservan el orden de inserción. Aunque esto es útil, sigue siendo buena práctica no depender del orden a menos que sea estrictamente necesario. Es decir, seguir usándolos como estructura de datos no ordenadas.

Publicidad


No modificar un diccionario mientras lo recorres

Modificar un diccionario durante la iteración puede provocar errores. La forma correcta es iterar sobre una copia de las claves:

claves = list(notas.keys())
for clave in claves:
    if notas[clave] < 5.0:
        del notas[clave]

Conclusiones

Iterar sobre diccionarios en Python es una habilidad fundamental que permite trabajar con datos estructurados de forma eficiente. En esta entrada has aprendido:

  • Cómo iterar sobre claves, valores o ambos.
  • A usar .keys(), .values() y .items().
  • Cómo aplicar estas técnicas en ejemplos prácticos.
  • Qué precauciones tomar, como evitar modificar el diccionario mientras lo recorres.
  • Cómo trabajar con diccionarios anidados y comprensiones de diccionario.

Dominar estas técnicas te permitirá escribir código más claro, eficiente y expresivo. Ya sea que estés empezando con Python o reforzando tus habilidades, saber recorrer diccionarios eficazmente es una herramienta clave en tu arsenal como programador.

Nota: La imagen de este artículo fue generada utilizando un modelo de inteligencia artificial.

¿Te ha parecido de utilidad el contenido?

¡Puntúalo entre una y cinco estrellas!

Puntuación promedio 0 / 5. Votos emitidos: 0

Ya que has encontrado útil este contenido...

¡Síguenos en redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?

Publicaciones relacionadas

  • Nuevo simulador FIRE en el laboratorio de aplicaciones de Analytics Lane
  • Nueva calculadora de préstamos e hipotecas en el laboratorio de aplicaciones de Analytics Lane
  • Hardening avanzado de NGINX: CSP, OCSP Stapling y defensa en profundidad
  • Nuevo generador y verificador de hashes en el laboratorio de aplicaciones de Analytics Lane
  • Nueva simulación de la estrategia Martingala en ruleta en el laboratorio de aplicaciones de Analytics Lane
  • Exactitud, precisión, recall… y los errores que cometemos al interpretarlas en proyectos reales
  • Nuevo simulador del problema de Monty Hall en el laboratorio de aplicaciones de Analytics Lane
  • Nuevo simulador interactivo de K-Means en el laboratorio de aplicaciones de Analytics Lane
  • Por qué los chatbots de inteligencia artificial parecen estar siempre de acuerdo contigo – Conversar con una inteligencia artificial – Parte I

Publicado en: Python

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

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

I accept the Terms and Conditions and the Privacy Policy

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral principal

Suscríbete a nuestro boletín

Suscríbete al boletín semanal para estar al día de todas las publicaciones.

Política de Privacidad

Analytics Lane en redes sociales

  • Amazon
  • Bluesky
  • Facebook
  • GitHub
  • Instagram
  • Mastodon
  • Pinterest
  • RSS
  • Telegram
  • Tumblr
  • Twitter
  • YouTube

Publicidad

Entradas recientes

Nuevo Inspector de JWT en el laboratorio de aplicaciones de Analytics Lane

abril 20, 2026 Por Daniel Rodríguez

Nuevo simulador de regresión logística en el laboratorio de aplicaciones de Analytics Lane

abril 17, 2026 Por Daniel Rodríguez

Nuevo simulador de regresión lineal con ruido en el laboratorio de aplicaciones de Analytics Lane

abril 16, 2026 Por Daniel Rodríguez

Publicidad

Es tendencia

  • Nuevo Inspector de JWT en el laboratorio de aplicaciones de Analytics Lane publicado el abril 20, 2026 | en Noticias
  • Creación de gráficos de barras y gráficos de columnas con Seaborn publicado el julio 18, 2023 | en Python
  • El método de Muller e implementación en Python publicado el marzo 24, 2023 | en Ciencia de datos
  • El método de la bisección e implementación en Python publicado el marzo 11, 2022 | en Ciencia de datos
  • Cómo calcular el tamaño de la muestra para encuestas publicado el septiembre 9, 2025 | en Ciencia de datos

Publicidad

Lo mejor valorado

4.9 (24)

Seleccionar filas y columnas en Pandas con iloc y loc

4.6 (16)

Archivos JSON con Python: lectura y escritura

4.4 (14)

Ordenación de diccionarios en Python mediante clave o valor

4.7 (13)

Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas

4.9 (11)

Pandas: Cambiar los tipos de datos en los DataFrames

Comentarios recientes

  • M. Pilar en Cómo eliminar las noticias en Windows 11 y recuperar tu concentración
  • Daniel Rodríguez en Probabilidad básica: cómo entender el azar en nuestra vida diaria
  • Pepe en Probabilidad básica: cómo entender el azar en nuestra vida diaria
  • CARLOS ARETURO BELLO CACERES en Justicio: La herramienta gratuita de IA para consultas legales
  • Piera en Ecuaciones multilínea en Markdown

Publicidad


Footer

Analytics Lane

  • Acerca de Analytics Lane
  • Boletín de noticias
  • Contacto
  • Libros
  • Lo más popular
  • Noticias
  • Tienda
  • Tiendas afiliadas

Secciones

  • Ciencia de datos
  • Criptografía
  • Herramientas
  • Machine Learning
  • Opinión
  • Productividad
  • Programación
  • Reseñas

Sobre de Analytics Lane

En Analytics Lane tratamos de explicar los principales conceptos de la ciencia e ingeniería de datos con un enfoque práctico. Los principales temas tratados son ciencia de datos, ingeniería de datos, inteligencia artificial, machine learning, deep learning y criptografía. Además, también se habla de los principales lenguajes de programación y herramientas utilizadas por los científicos e ingenieros de datos.

Copyright © 2018-2026 Analytics Lane ·Términos y condiciones ·Política de Cookies ·Política de Privacidad ·Herramientas de privacidad ·Contacto