首页 > 解决方案 > 在 Julia 中将集合数组折叠为单个集合

问题描述

如何按以下方式将一组集合折叠为包含所有唯一集合元素的单个集合?

Array_of_sets = Set{String}[Set(["EUR", "GBP", "USD"]), Set(["AUD"])]
# do something to Array_of_sets which produces
Set{String}(["EUR", "GBP", "USD", "AUD"])

unionvcat并且unique在这种情况下似乎不起作用。

标签: setjulia

解决方案


所以集合已经是唯一的:

julia> S = Set(["a", "b"])
 Set(["b", "a"])
julia> push!(S, "a")
 Set(["b", "a"])

因此,unique不需要:

julia> A = Set{String}[Set(["EUR", "GBP", "USD"]), Set(["EUR", "AUD"])]
julia> reduce(union!, A)
 Set(["EUR", "GBP", "AUD", "USD"])

推荐阅读