Programa Python para encontrar los elementos distintos de dos matrices
En programación, una matriz es una estructura de datos que se utiliza para almacenar una colección de elementos de datos homogéneos. Y cada elemento de la matriz se identifica mediante una clave o valor de índice.
matrices en Python
Python no tiene un tipo de datos específico para representar matrices. En su lugar, podemos usar la Lista como una matriz.
[1, 4, 6, 5, 3]
Encontrar elementos distintos de dos matrices significa identificar los elementos únicos entre las dos matrices dadas.
Escenarios de entrada y salida
Supongamos que tenemos dos matrices A y B con valores enteros. Y la matriz resultante tendrá elementos distintos de las dos matrices.
Input arrays:
A = [1, 2, 3, 4, 5]
B = [5, 2, 6, 3, 9]
Output array:
[1, 6, 4, 9]
Los elementos 1, 6, 4, 9 son los valores únicos entre las dos matrices.
Input arrays:
A = [1, 2, 3, 4, 5]
b = [3, 4, 5, 1, 2]
Output array:
[]
No se encuentran elementos distintos en las 2 matrices dadas.
Usando bucle for
Usaremos el bucle for en matrices cuyo número de elementos sea igual.
Ejemplo
En el siguiente ejemplo, definiremos el bucle for utilizando el método de comprensión de listas.
arr1 = [1, 2, 3, 4, 5]
arr2 = [5, 2, 6, 3, 9]
result = []
for i in range(len(arr1)):
if arr1[i] not in arr2:
result.append(arr1[i])
if arr2[i] not in arr1:
result.append(arr2[i])
print("The distinct elements are:", result)
Producción
The distinct elements are: [1, 6, 4, 9]
Aquí encontramos los distintos elementos utilizando el bucle for y las condiciones if. Inicialmente, iteramos el ciclo y verificamos si el elemento arr1 [i] no está presente en la matriz arr2 o no, luego agregaremos ese elemento a la variable de resultado si el elemento es un elemento distinto. De la misma manera, verificamos el segundo elemento de la matriz con la primera matriz. Y almacenó los distintos elementos en la matriz de resultados.
Ejemplo
Tomemos otro conjunto de matrices y encontremos los elementos distintos.
a = [1, 2, 3, 4, 5]
b = [3, 4, 5, 1, 2]
result = []
for i in range(len(a)):
if a[i] not in b:
result.append(a[i])
if b[i] not in a:
result.append(b[i])
print("The distinct elements are:", result)
Producción
The distinct elements are: []
No se encontraron elementos distintos en el conjunto de matrices dado.
Usando conjuntos
Encontrar los elementos distintos en dos matrices es muy similar a encontrar la diferencia simétrica entre dos conjuntos. Y al utilizar la estructura de datos de Python Sets y sus propiedades, podemos identificar fácilmente los distintos elementos de dos matrices.
Ejemplo
Inicialmente, convertiremos las listas en conjuntos y luego aplicaremos la propiedad de diferencia simétrica ^entre los dos conjuntos para obtener los elementos distintos.
a = [1, 2, 3, 4, 5]
b = [3, 4, 5, 6, 7, 8]
result = list((set(a) ^ set(b)))
if result:
print("The distinct elements are:", result)
else:
print("No distinct elements present in two arrays")
Producción
The distinct elements are: [1, 2, 6, 7, 8]
También podemos usar el método set.metric_difference() para encontrar los elementos distintos de dos matrices. El método metric_difference() devuelve todos los elementos únicos presentes en conjuntos determinados.
Sintaxis
set_A.symmetric_difference(set_B)
Ejemplo
Veamos un ejemplo para obtener los elementos distintos de dos matrices.
a = [1, 2, 3, 4, 5]
b = [3, 4, 5, 6, 7, 8]
result = list(set(a).symmetric_difference(set(b)))
if result:
print("The distinct elements are:", result)
else:
print("No distinct elements present in two arrays")
Producción
The distinct elements are: [1, 2, 6, 7, 8]
Aquí hemos utilizado el método metric_difference() para obtener la diferencia simétrica de A y B en la variable de resultado. Luego, el conjunto de elementos únicos se convierte nuevamente en una lista usando la función list().
Ejemplo
Si no se encuentra ningún elemento distinto, el método metric_difference() devolverá el conjunto vacío.
a = [1, 2, 3, 4, 5]
b = [3, 4, 5, 1, 2]
result = list(set(a).symmetric_difference(set(b)))
if result:
print("The distinct elements are:", result)
else:
print("No distinct elements present in two arrays")
Producción
No distinct elements present in two arrays
En el ejemplo anterior, todos los elementos son elementos comunes. De modo que el método metric_difference() devolvió el conjunto vacío.