Programa Python para encontrar elementos comunes en dos matrices
Una matriz es una estructura de datos que consta de una colección de elementos del mismo tipo de datos y cada elemento se identifica mediante un índice.
[2, 4, 0, 5, 8]
0 1 2 3 4
Los números enteros 2, 4, 0, 5, 8 son los elementos de la matriz y 0, 1, 2, 3, 4 son los valores de índice respectivos de los elementos de la matriz.
En el artículo siguiente, analizaremos el programa Python para encontrar elementos comunes entre dos matrices.
Escenarios de entrada y salida
Suponiendo que tenemos dos matrices A y B. Y la matriz resultante tiene los elementos comunes entre dos matrices.
Input arrays:
A = [1, 2, 3, 4, 5]
B = [5, 2, 6, 3, 9]
Output array:
[2, 3, 5]
Los elementos 2, 3, 5 son los elementos comunes entre las dos matrices de entrada.
Python no tiene una estructura de datos de matriz nativa para representar matrices. En cambio, podemos usar List como una matriz. Veamos las múltiples formas de encontrar elementos comunes.
Usar la comprensión de listas
En Python, la comprensión de listas proporciona la sintaxis más corta para crear una lista sin inicializar una lista vacía para agregar valores para cada iteración.
Ejemplo
En el siguiente ejemplo, definiremos los elementos comunes utilizando la lista de comprensión.
a = [1, 2, 3, 4, 5]
b = [5, 2, 6, 3, 9]
result = [i for i in a if i in b]
print("The common elements are:", result)
Producción
The common elements are: [2, 3, 5]
Inicialmente, se iteraron todos los elementos de la matriz a usando el bucle for y se verificó para cada elemento si está presente en la matriz o no. Y finalmente, todos los elementos comunes se almacenan en la matriz resultante.
Usando conjuntos
Encontrar los elementos comunes en dos matrices es muy similar a encontrar la intersección de dos conjuntos. Y al utilizar la estructura de datos y las propiedades de Python Sets, podemos identificar fácilmente los elementos comunes en dos matrices.
Ejemplo
Inicialmente, convertiremos las listas a y b en conjuntos y luego aplicaremos la propiedad de intersección "&" entre los dos conjuntos para obtener los elementos comunes.
a = [1, 2, 3, 4, 5]
b = [5, 2, 6, 3, 9]
result = (set(a) & set(b))
if result:
print("The common elements are:", result)
else:
print("No common elements present in two arrays")
Producción
The common elements are: {2, 3, 5}
Para este ejemplo, 2, 3, 5 son los elementos comunes.
Ejemplo
Tomemos otro ejemplo para encontrar los elementos comunes.
a = [1, 2, 3, 4]
b = [5, 6, 7, 8]
result = (set(a) & set(b))
if result:
print("The common elements are:", result)
else:
print("No common elements present in two arrays")
Producción
No common elements present in two arrays
Si no se encuentra ningún elemento común, la propiedad "&" devolverá el conjunto vacío.
Usando NumPy
El método numpy.intersect1d() se utiliza para encontrar los elementos comunes entre dos matrices. El método intersect1d() toma dos matrices como parámetros y devolverá una matriz con todos los elementos comunes.
Sintaxis
numpy.intersect1d(ar1, ar2)
Encuentra la intersección de dos matrices y devuelve los valores únicos ordenados que están presentes en ambas matrices de entrada.
Ejemplo
En este ejemplo, crearemos las dos matrices numpy usando el método numpy.array() y luego aplicaremos el método numpy.intersect1d()
import numpy as np
arr1 = np.array([1, 3, 4, 3])
arr2 = np.array([3, 1, 2, 1])
result = np.intersect1d(arr1, arr2)
print("The common elements are:", result)
Producción
The common elements are: [1 3]
Del resultado anterior, los elementos comunes son 1,3.