intersección_update () en Python para encontrar elementos comunes en n matrices

| | | | | | | | | | | | | | | | | |

Ejemplos:

Entrada: arr = [[1,2,3,4], [8,7,3,2], [9,2,6,3], [5, 1,2,3]] Salida: Elementos comunes = [2,3] 

Podemos resolver rápidamente este problema en python con la intersección_actualización () Establecer () estructuras de datos .

¿Cómo funciona la intersección_actualización ()?

Supongamos que tenemos dos conjuntos A y B, luego la operación A.intersection_update (B) actualiza el conjunto A con elementos comunes en los conjuntos A y B. Por ejemplo, A = conjunto ([1, 2,3]) y B = conjunto ([4,2,3]) ahora después de aceptar A.intersection_update (B) , el valor del conjunto A será [2,3]. Sintaxis anySet.intersection_update (iterable) .


# Función para encontrar elementos comunes en n matrices

def commonElements (arr):


# inicializa el resultado con la primera matriz como un conjunto

resultado = conjunto (arr [ 0 ])


# ahora iterar sobre la lista de arreglos, comenzando c

# segundo arreglo y tomar intersección_actualizar() de

# cada matriz con el resultado. Cada operación

# actualizará el valor del resultado con valores compartidos ‚Äã‚Äãin

# conjunto de resultados y conjunto superpuesto

for currSet en arr [ 1 :]:

result.intersection_update (currSet)


< código clase = "palabra clave"> retorno lista (resultado)


# código del controlador

si __ nombre__ < código clase = "palabra clave"> = = "__ principal__" :

arr = [[ 1 , 2 , 3 , 4 ], [ 8 , 7 , 3 , 2 ], [ 9 < código clase = "simple">, 2 , 6 , 3 ], [ 5 , 1 , 2 , 3 ]]

salida = elementos comunes (arr)

si len (salida) > 0 :

imprimir salida

else :

imprimir `No se encontraron elementos comunes`

Resultado:

Elementos comunes = [2,3] 

Este artículo es cortesía de Shashank Mishra (Gullu) . Si es Python.Engineering y le gustaría contribuir, también puede escribir un artículo usando contribuya.python.engineering o publicando un artículo contribuir @ python.engineering. Vea mi artículo que aparece en la página de inicio de Python.Engineering y ayude a otros geeks.

Publique comentarios si encuentra algún problema o si desea compartir más información sobre el tema tratado anteriormente.