如何识别不同的成员?



如何在两个向量(大小相同或不相同)中找到所有不同的元素。例如:

t1 = [(1,2,3), (1,2,4),(2,5,1),(2,5,2)]
t2 = [(1,2,3), (1,2,8),(2,5,1),(2,5,2)]

如何创建另一个矢量diff_t使

diff_t = [(1,2,8)]
julia> setdiff(t2, t1)
1-element Vector{Tuple{Int64, Int64, Int64}}:
(1, 2, 8)

这将为您提供t2中存在但t1中不存在的所有元素。

julia> symdiff(t1, t2)
2-element Vector{Tuple{Int64, Int64, Int64}}:
(1, 2, 4)
(1, 2, 8)

这是"对称差异",因此它返回t1t2中没有出现在另一个数组中的所有元素的列表。

这可能比setdiff:

快10倍以上
filter(∉(t1),t2)
1-element Vector{Tuple{Int64, Int64, Int64}}:
(1, 2, 8)

最新更新