Búsqueda de sitios web

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.

Artículos relacionados: