如何通过以下方式将一个集合数组折叠为包含所有唯一集合元素的单个集合?
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"])
在这种情况下,union
、vcat
和unique
似乎不起作用。
发布于 2018-09-19 07:28:14
所以集合已经是唯一的:
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"])
发布于 2018-09-19 07:31:45
我会将集合转换为数组,并对其进行vcat:
Array_of_sets = Set{String}[Set(["EUR", "GBP", "USD"]), Set(["AUD"])]
Array_of_arrays = map(collect, Array_of_sets)
Set(vcat(Array_of_arrays...))
> Set{String}(["EUR", "GBP", "USD", "AUD"])
编辑:但是我并不像@stillearningsomething那样聪明
https://stackoverflow.com/questions/52395789
复制相似问题