This post is tested under Julia v1.6.1 and DataFrames v1.2.0.
Base.setdiff
will do the trick.
a = [1, 3, 5, 7, 9, 10, 'a', 'e']
b = [2, 4, 9, 11, 7, 'e', 'b']
# To find elements in a but not in b:
setdiff(a, b) # returns [1, 3, 5, 10, 'a']
This works for 2-dimensional arrays as well:
julia> c = [1 2 8; 4 5 6]
2×3 Matrix{Int64}:
1 2 8
4 5 6
julia> d = [2 3 4; 8 6 7]
2×3 Matrix{Int64}:
2 3 4
8 6 7
julia> setdiff(c, d)
2-element Vector{Int64}:
1
5
Note that Base.setdiff!(a,b)
will remove in-place from a
all elements found in b
:
setdiff!(a,b) # returns [1, 3, 5, 10, 'a']
a # returns returns [1, 3, 5, 10, 'a']
References #
- Gnimuc’s comment under the question of Julia: does an Array contain a specific sub-array on Stack Overflow
Last modified on 2021-10-05