Establezca update() en Python para hacer la unión de n arrays

Tenemos n arreglos de cualquier tamaño que pueden tener elementos comunes, necesitamos combinar todos estos arreglos de tal manera que cada elemento aparezca solo una vez y los elementos estén ordenados. Ejemplos:

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

Una solución simple para este problema es crear un hash vacío y recorrer cada array una por una, este hash contiene la frecuencia de cada elemento en la lista de arrays. Ahora recorra el hash desde el inicio e imprima cada índice que tenga un valor distinto de cero. Aquí resolvemos este problema en python muy rápidamente usando las propiedades de la estructura de datos Set() y el método Update() en python. 

¿Cómo funciona el método Update() para set?

anySet.update(iterable) , este método une el conjunto llamado anySet con cualquier iterable dado y no devuelve ninguna copia superficial del conjunto como el método union() , actualiza el resultado en un conjunto de prefijos, es decir; cualquier conjunto .

Implementación:

Python3

# Function to combine n arrays
     
def combineAll(input):
         
    # cast first array as set and assign it
    # to variable named as result
    result = set(input[0])
     
    # now traverse remaining list of arrays
    # and take it's update with result variable
    for array in input[1:]:
        result.update(array)
     
    return list(result)
     
# Driver program
if __name__ == "__main__":
    input = [[1, 2, 2, 4, 3, 6],
            [5, 1, 3, 4],
            [9, 5, 7, 1],
            [2, 4, 1, 3]]
    print (combineAll(input))
Producción

[1, 2, 3, 4, 5, 6, 7, 9]

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 *