1

Cómo buscar un elemeno en una matriz en Python

Hola! en esta oportunidad quiero enseñarte a recorrer una matriz para encontrar un elemento en Python.

Para esto quiero enseñartelo de una manera divertida!

Supongamos que tenemos un mapa(Matriz de 3x3) con dígitos ceros(0) y uno(1), donde 1 será el tesoro. Por ejemplo:

[0, 0, 0]
[0, 0, 0]
[0, 1, 0]

Esto en una variable en python de veria de la siguiente manera:

mapa = [[0, 0, 0],[0, 0, 0],[0, 1, 0]]

Si quisieramos saber cuáles son las coordenadas x,y para poder encontrar el tesoro, tendríamos que recorrer cada elemento de la lista. Por ejemplo para el mapa anterior las coordenadas del tesoro serían (2,3). Es decir la columna 2 de la fila 3.

Para esto, lo primero que tendríamos que hacer es empezar a recorrer todas las filas primero y luego cada elemento de la fila. Todo esto con ciclos for.

Por ejemplo, para tener todas las filas:

for fila in range(0, len(mapa)):
	print("Fila", mapa[fila])

Esto nos mostraría:

Fila [0, 0, 0]
Fila [0, 0, 0]
Fila [0, 1, 0]

Ahora nos quedaría volver a recorrer cada elemento(columna) dentro de la fila

for fila in range(0, len(mapa)):
    for columna in range(0, len(mapa[fila])):
        print(“Elemento”, mapa[fila][columna])

Se mostrarían todos los elementos:

Elemento0
Elemento 0
Elemento 0
Elemento 0
Elemento 0
Elemento 0
Elemento 0
Elemento 1
Elemento 0

Ahora llegó el momento de verificar si cada elemento es el tesoro con la siguiente condición:

if elemento == 1:
    print("¡Tesoro encontrado!")

Ahora, sólo nos queda decir cuáles son las coordenadas para encontrarlo:
Nota: Recuerda sumar un posición para que el valor dela coordenada sea exacto.

ifelemento == 1:
    print("¡Tesoro encontrado!")
    coordenadaX = columna + 1coordenadaY = fila + 1
    print(f"Lasa coordenas para econtrarlo son ({coordenadaX}, {coordenadaY})")

El código completo seríaasí:


mapa = [[0, 0, 0],[0, 0, 0],[0, 1, 0]]for fila in range(0, len(mapa)):
    for columna in range(0, len(mapa[fila])):
        elemento = mapa[fila][columna]
        if elemento == 1:
            print("¡Tesoro encontrado!")
            coordenadaX = columna + 1
            coordenadaY = fila + 1print(f"Lasa coordenas para econtrarlo son ({coordenadaX}, {coordenadaY})")

Nos mostrará algo como esto:

¡Tesoro encontrado!
Lasa coordenas para econtrarlo son (2, 3)

Espero este tutorial te haya sido útil. Saludos y hasta una próxima.

Escribe tu comentario
+ 2