在Python中设置update()以进行n个数组的并集

我们有n个任意大小的数组,它们可能有公共元素,我们需要以这样的方式组合所有这些数组:每个元素只出现一次,元素应该按顺序排序?

null

例如:

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]

A. 简单解决方案 对于这个问题,创建一个空的 搞砸 并逐个遍历每个数组,这个散列包含数组列表中每个元素的频率。现在从开始遍历散列并打印每个非零值的索引。

在这里,我们使用 Set() 数据结构和 更新() 方法。

Update()方法如何适用于set?

随便。更新(iterable) ,此方法不执行名为 随便 无论如何 可迭代的 而且它不会返回任何类似set的浅拷贝 工会() 方法,它将结果更新为前缀集,即:; 随便 .

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

本文由 沙申克·米什拉(古卢) .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享