📜  在Python中设置 update() 来合并 n 个数组

📅  最后修改于: 2022-05-13 01:54:34.843000             🧑  作者: Mango

在Python中设置 update() 来合并 n 个数组

我们有 n 个任意大小的数组,它们可能有共同的元素,我们需要将所有这些数组组合在一起,使得每个元素只出现一次并且元素应该按排序顺序排列?

例子:

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]

这个问题的一个简单解决方案是创建一个空哈希并一个一个地遍历每个数组,这个哈希包含数组列表中每个元素的频率。现在从头开始遍历哈希并打印每个具有非零值的索引。

在这里,我们使用Python中的 Set() 数据结构和Update()方法的属性非常快速地在Python中解决了这个问题。

Update() 方法如何用于 set ?

anySet _ _任意设置

# 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))

输出:

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