Programa Python para comprobar si dos matrices son iguales
Existen varias técnicas que nos ayudan a comprobar si las matrices dadas son iguales o no. La comparación de un arreglo no dependerá de los índices de los elementos, solo comparará si ese elemento en particular de un arreglo está presente en el otro arreglo o no. Analicemos algunas técnicas que comparan dos matrices y comprueban si son iguales o no.
Existen varias técnicas que nos ayudan a comprobar si las matrices dadas son iguales o no. La comparación de un arreglo no dependerá de los índices de los elementos, solo comparará si ese elemento en particular de un arreglo está presente en el otro arreglo o no. Analicemos algunas técnicas que comparan dos matrices y comprueban si son iguales o no.
Escenarios de entrada y salida
Considere dos matrices como se indican a continuación:
arr1 = [1, 3, 5, 7, 9, 2, 4, 6, 8, 10]
arr2 = [3, 5, 4, 7, 1, 2, 6, 9, 8, 10]
Ahora, verifiquemos y verifiquemos si todos los elementos de arr1 están presentes en arr2.
El primer elemento de arr1 es 1 (compruebe si 1 está presente en arr2).
-
El elemento 1 también está presente en arr2. Entonces, pase al siguiente elemento en arr1.
El segundo elemento es 3. El elemento también está presente en la segunda matriz.
Entonces, pase al siguiente elemento 5. El elemento 5 también está presente en arr2. Pase al siguiente elemento en arr1, es decir, 7.
7 también está presente en arr2 en el cuarto lugar. Pasar al siguiente elemento 9. El elemento 9 también está presente en arr2.
De manera similar, verifique todos los elementos en arr1 si están presentes en arr2. Si los elementos de la primera matriz están presentes en la segunda matriz y no hay otros elementos presentes en arr2, entonces podemos concluir que las dos matrices dadas son iguales.
Nota − La igualdad de las matrices no depende de los elementos que están presentes en los índices particulares de las matrices, pero la presencia de los elementos es obligatoria.
Usando el módulo Numpy
El método all() pertenece al módulo Numpy. Este método ayuda a comprobar y verificar si las matrices dadas son iguales o no. Un operador que se utiliza para comprobar su igualdad es ==.
El método all() toma un único argumento, que es la matriz a evaluar. Si algún elemento de la matriz se evalúa como falso, entonces el resultado general será falso; de lo contrario, devolverá verdadero. Podemos usar esto con el operador "==" para comparar dos matrices y juzgar si son iguales o no.
Ejemplo
En el siguiente ejemplo, compararemos las matrices dadas y verificaremos su igualdad con la ayuda del método all() y el operador ==. Se deben seguir los pasos que se describen a continuación para construir el programa deseado.
Importe el módulo numpy para acceder a sus métodos y atributos.
-
Declare dos matrices para comparar y verificar su igualdad.
Convierta esas matrices en matrices numerosas para realizar operaciones numerosas.
Utilice el operador de igualdad, es decir, == junto con el método all() para comparar las matrices claramente.
import numpy as n
arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
arr2 = [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
narr1 = n.array([arr1])
narr2 = n.array([arr2])
result_variable = (narr1 == narr2).all()
if(result_variable == True):
print(" Yes!! The given arrays are equal. ")
else:
print(" The given arrays are not equal. ")
Producción
El resultado del programa anterior es el siguiente:
The given arrays are not equal.
Usando la técnica de clasificación
La técnica de clasificación también se utiliza para comprobar si las matrices son iguales o no. Inicialmente, las matrices dadas se pueden ordenar mediante una técnica de clasificación. Luego, los elementos de una matriz se pueden comparar con los de la otra considerando sus respectivos índices, ya que ya están ordenados.
Si el elemento en el primer índice de la primera matriz también está en el primer índice de la segunda matriz, se toma el elemento del segundo índice. Este proceso continúa hasta que se alcanza el último índice.
Ejemplo
En el siguiente ejemplo, compararemos las matrices dadas y verificaremos su igualdad ordenándolas.
def equality_check(arr1, arr2, size1, size2):
if (size1 != size2):
return False
arr1.sort()
arr2.sort()
for i in range(0, size2):
if (arr1[i] != arr2[i]):
return False
return True
if __name__ == "__main__":
arr1 = [1, 2, 4, 5, 3]
arr2 = [6, 9, 7, 10, 8]
n = len(arr1)
m = len(arr2)
if (equality_check(arr1, arr2, n, m)):
print(" Yes!! The given arrays are equal. ")
else:
print(" The given arrays are not equal. ")
Producción
El resultado del programa anterior es el siguiente:
The given arrays are not equal.