0Pricing
Python Academy · Lección

Listas anidadas e iteración

Trabaje con listas anidadas e itérelas eficazmente mediante bucles for.

Listas anidadas e iteración es una lección gratuita de Python Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Python Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Python Academy incluye 4 lecciones en total.

Introducción

Las listas pueden contener otras listas, lo que permite crear estructuras multidimensionales. Dominar la iteración anidada es fundamental para trabajar con cuadrículas y matrices.

Estructura de una lista anidada

matrix = [[1,2,3],[4,5,6],[7,8,9]] es una cuadrícula de 3x3. matrix[1][2] accede a la fila 1, columna 2, que contiene 6.
matrix = [[1,2,3],[4,5,6],[7,8,9]]
print(matrix[1][2])

Iteración sobre filas

for row in matrix: print(row) imprime cada sublista. row es una lista en sí misma, por lo que puede indexarla.
matrix = [[1,2],[3,4]]
for row in matrix:
    print(row)

Bucles for anidados

for row in matrix: for val in row: print(val) imprime cada elemento individual.
matrix = [[1,2],[3,4]]
for row in matrix:
    for val in row:
        print(val, end=' ')

Aplanar una lista anidada

[x for row in matrix for x in row] aplana un nivel. Es una comprensión de listas anidada.
matrix = [[1,2],[3,4]]
flat = [x for row in matrix for x in row]
print(flat)

Crear una cuadrícula

Cree una cuadrícula N×M: grid = [[0]*M for _ in range(N)]. Use una comprensión de listas, NO [[0]*M]*N, porque esta crea filas con alias.
grid = [[0]*3 for _ in range(3)]
grid[0][0] = 1
print(grid)

La trampa de las filas con alias

grid = [[0]*3]*3 crea tres referencias a la misma fila. Modificar una modifica todas. Use siempre una comprensión.
bad = [[0]*3]*3
bad[0][0] = 9
print(bad)  # all rows changed!

zip() para iteración en paralelo

for a, b in zip(list1, list2) itera dos listas en paralelo. zip() se detiene al llegar a la lista más corta.
names = ['Alice', 'Bob']
scores = [90, 85]
for n, s in zip(names, scores):
    print(n, s)

enumerate() con listas anidadas

for i, row in enumerate(matrix): for j, val in enumerate(row): le proporciona tanto los índices como los valores.
matrix = [[1,2],[3,4]]
for i, row in enumerate(matrix):
    for j, val in enumerate(row):
        print(f'[{i}][{j}]={val}')

Ordenar una lista de listas

sorted(data, key=lambda x: x[1]) ordena según el segundo elemento de cada sublista.
data = [['Bob',85],['Alice',90],['Charlie',78]]
data.sort(key=lambda x: x[1])
print(data)

Transponer una matriz

transposed = list(zip(*matrix)) transpone las filas en columnas. El * desempaqueta la lista exterior como argumentos para zip.
matrix = [[1,2,3],[4,5,6]]
print(list(zip(*matrix)))

Comprobación rápida

¿Cuál es la forma correcta de crear una cuadrícula de 3x3 llena de ceros para evitar la trampa de las filas con alias?

Resumen

En las listas anidadas, acceda mediante [row][col] e itere con bucles for anidados. Use una comprensión para crear cuadrículas, zip() para iterar en paralelo y zip(*matrix) para transponer.

Continúe

¡Excelente trabajo! Pase a la siguiente lección para seguir desarrollando sus habilidades.

Preguntas frecuentes

¿La lección «Listas anidadas e iteración» es gratis?

Sí — el texto completo de «Listas anidadas e iteración» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Python Academy, actualiza a CoddyKit PRO. El curso de Python Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Listas anidadas e iteración»?

Trabaje con listas anidadas e itérelas eficazmente mediante bucles for. Practicas Python Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Python Academy?

No se requiere experiencia previa. Python Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Listas anidadas e iteración»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Python Academy?

Sí. Cada lección de Python Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Creación y acceso a listas
  2. Modificación de listas
  3. Tuplas e inmutabilidad
  4. Listas anidadas e iteración
← Volver a Python Academy