PyQuiz 35 – Indexación anidada en Python

El reto
matriz = [[1, 2], [3, 4], [5, 6]]
print(matriz[1][0])¿Cuál es el resultado?
- a) 3
- b) 2
- c) 1
Piensa tu respuesta antes de seguir leyendo…
Concepto: Indexación anidada
Una lista de listas (también llamada matriz o lista anidada) es simplemente una lista donde cada elemento es, a su vez, otra lista. Para acceder a los elementos, se usan dos índices consecutivos: el primero selecciona la sublista y el segundo selecciona el elemento dentro de esa sublista.
La sintaxis matriz[fila][columna] funciona porque matriz[fila] devuelve una lista, y sobre esa lista aplicamos [columna]. Los índices siguen siendo cero-based: la primera fila es [0], la segunda es [1], etc.
tabla = [[10, 20], [30, 40], [50, 60]]
print(tabla[0]) # [10, 20] — primera fila completa
print(tabla[0][1]) # 20 — fila 0, columna 1
print(tabla[2][0]) # 50 — fila 2, columna 0Paso a paso
matriz = [[1, 2], [3, 4], [5, 6]]— Se crea una lista con tres sublistas.matriz[0]=[1,2],matriz[1]=[3,4],matriz[2]=[5,6].matriz[1]— Se accede al elemento en el índice1(segundo elemento). Esto devuelve la sublista[3, 4].matriz[1][0]— Sobre la sublista[3, 4], se accede al índice0(primer elemento). Devuelve3.print(matriz[1][0])— Se imprime3.
📥 Llévate el cheatsheet de Python (gratis)
PDF de 6 páginas con lo esencial: tipos, condicionales, bucles, estructuras de datos, funciones y los errores que más vas a cometer. Para tener al lado mientras programas.
Sin spam. Te apuntas a la lista, descargas el cheatsheet y recibes contenido de Python cada semana.
Solución
Respuesta correcta: A) 3
matriz[1] = [3, 4], luego [3, 4][0] = 3.
Sabías que…
Para crear matrices de tamaño variable, es importante no usar multiplicación de listas, ya que crea referencias al mismo objeto:
# MAL: todas las filas son el mismo objeto
matriz_mal = [[0] * 3] * 3
matriz_mal[0][0] = 99
print(matriz_mal) # [[99,0,0],[99,0,0],[99,0,0]] — inesperado!
# BIEN: cada fila es un objeto independiente
matriz_bien = [[0] * 3 for _ in range(3)]
matriz_bien[0][0] = 99
print(matriz_bien) # [[99,0,0],[0,0,0],[0,0,0]] — correctoPrueba tú mismo
Con datos = [[1, 2, 3], [4, 5, 6]], ¿cómo accederías al valor 6? ¿Y cómo imprimirías toda la segunda fila?
Más PyQuizzes en elpythonista.com/pyquizzes
Tutorial relacionado: Listas en Python
¿Quieres aprender Python en orden, no a saltos?
Esto que has leído es solo una pieza. En El Pythonista lo verás todo encadenado: 11 módulos, 37+ horas de vídeo, 734 actividades y un proyecto real (MovieTracker) que crece contigo desde la primera variable hasta el deploy a producción.
37+ horas · 734 actividades · Proyecto real · Acceso de por vida · 14 días de garantía
