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

Nos dan una lista de n número de arrays, ¿encontrar todos los elementos comunes en arrays dadas? Ejemplos:

Input :  arr = [[1,2,3,4],
               [8,7,3,2],
               [9,2,6,3],
               [5,1,2,3]]
Output :  Common Elements = [2,3]

Podemos resolver este problema rápidamente en python usando el método intersección_update() de la estructura de datos Set() . ¿Cómo funciona la actualización de intersection()?

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 tomar A.intersection_update(B) , el valor del conjunto A será [2,3]. La sintaxis es anySet.intersection_update(iterable) .

Implementación:

Python3

# Function to find common elements in n arrays
def commonElements(arr):
     
    # initialize result with first array as a set
    result = set(arr[0])
 
    # now iterate through list of arrays starting from
    # second array and take intersection_update() of
    # each array with result. Every operation will
    # update value of result with common values in
    # result set and intersected set
    for currSet in arr[1:]:
        result.intersection_update(currSet)
 
    return list(result)
 
# Driver code
if __name__ == "__main__":
    arr = [[1,2,3,4], [8,7,3,2], [9,2,6,3], [5,1,2,3]]
    output = commonElements(arr)
    if len(output) > 0:
        print ("Common Element = ",output)
    else:
        print ('No Common Elements Found')
Producción

Common Element =  [2, 3]

Este artículo es una contribución de Shashank Mishra (Gullu) . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *