gpt4 book ai didi

julia - 具有 "issetequal"的数组数组的唯一元素

转载 作者:行者123 更新时间:2023-12-04 04:29:48 25 4
gpt4 key购买 nike

对于像这样的数组

v=[[1,2],[1,2,3],[2,3,1]]

我正在寻找一种方法来删除所有重复的条目,因为它们在被视为集合时是相等的。
在本例中, issetequal([1,2,3],[2,3,1]) = true ,所以该方法应该返回数组 [[1,2],[1,2,3]] .

原则上,类似 unique(issetequal, v)会解决问题。但在实践中,这个选项给出了错误

ERROR: MethodError: no method matching issetequal(::Array{Int64,1})



有人有sugestion吗?

最佳答案

来自 documentation ,我们看到这种形式的 unique将一元函数作为第一个参数:

unique(f, itr)


Returns an array containing one value from itr for each unique value produced by f applied to elements of itr.

Examples
≡≡≡≡≡≡≡≡≡≡

julia> unique(x -> x^2, [1, -1, 3, -3, 4])
3-element Array{Int64,1}:
1
3
4

在您的示例中, issetequal是直接检查两个值的集合相等的二元函数。你想要的是 Set构造函数,它构造一个 Set出于 Array .然后你可以让 unique测试集合之间的相等性:
julia> unique(Set, [[1,2],[1,2,3],[2,3,1]])
2-element Array{Array{Int64,1},1}:
[1, 2]
[1, 2, 3]

关于julia - 具有 "issetequal"的数组数组的唯一元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60041404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com